Как правильно использовать соединение с базой данных? - PullRequest
3 голосов
/ 26 ноября 2010

У меня есть программа Winforms, которая подключается к SQL Server 2008.

Есть 100 пользователей, которые подключаются к этой базе данных и

запустить поисковый запрос -> и обновить базу данных.

Я открываю соединение при запуске программы и закрываюсь при ее завершении.

Это правильно?

Лучше ли открыть соединение -> выполнить запрос -> обновить -> и закрыть соединение?

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 26 ноября 2010

Это очень старый вопрос, и я считаю, что на него уже давным-давно ответили.

Всегда запускайте соединение -> запускайте SQL -> Закрыть.

Разрешите соединение Пул беспокоиться о стоимости открытия и закрытия соединения.Если вы продолжаете использовать одну и ту же строку подключения (достижимо с помощью Integrated Security ), вы редко открываете новое соединение и возобновляете существующие.

4 голосов
/ 26 ноября 2010

лучше ли открыть соединение -> выполнить запрос -> обновить -> и закрыть соединение?

Да, SQL Server уже оптимизирует соединения, а пул обрабатывается ADO.Net . Откройте соединение, используйте его, чтобы получить то, что вы хотите, а затем закройте его. Пусть SQL управляет всем остальным.

Из MSDN (источник выше):

Мы настоятельно рекомендуем вам всегда закройте соединение, когда вы закончил использовать его так, чтобы соединение будет возвращено бассейн.

0 голосов
/ 26 ноября 2010

Если вы поддерживаете соединение с базой данных открытым, вы сохраняете столько памяти, зарезервированной для этой задачи. Следовательно, производительность может пострадать. Кроме того, если в программе есть критическая ошибка, и она преждевременно завершает работу, это соединение не может быть разорвано автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...