Объект доступа к данным:Одиночный элемент или много маленьких?

StackOverflow https://stackoverflow.com/questions/1805481

Вопрос

При разработке приложения (web, win, что угодно), которое выполняет большой доступ к данным, лучше ли сохранять ваш объект доступа к данным открытым на протяжении всего запроса (т. Е.сделайте много дел подряд, а затем закройте их, когда закончите), или продолжайте открывать и закрывать новые?

protected aDataContext dc = new aDataContext();

против

private aObject GetInfo(...) {...}

Я бы подумал, что первое было бы лучше с точки зрения производительности;но это похоже на плохую практику.

Это было полезно?

Решение

Обычно вы должны открывать новое подключение для каждой единицы работы, использовать его, а затем закрывать как можно скорее.Внутренне .NET (или ADO, или ODBC, или что-то еще) будет объединять соединения для вас, при условии, что строка подключения одинакова, поэтому на самом деле это очень эффективно.Существуют и другие проблемы, которые следует принимать во внимание, особенно транзакции, но в целом лучше следовать этой схеме "открыть-сделать-закрыть" и "разрешить" .Пул подключений управляется СЕТЬЮ.

Другие советы

Лучше используйте пул подключений.держите как можно больше открытым ограниченное количество подключений.Открытие соединения стоит дорого, но наличие миллиона открытых соединений может привести к сбою вашего сервера.вы должны сравнить свой сценарий для достижения наилучших результатов....

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top