




Пул соединений - это механизм для повторного использования соединений, поскольку создание нового соединения происходит медленно.
Если вы используете строку подключения MSSQL и System.Data.SqlClient, то вы уже используете его - в .Net этот материал большую часть времени находится под капотом.
Цикл из 30 тыс. Итераций может быть лучше в качестве курсора на стороне сервера (найдите операторы курсора T-SQL), в зависимости от того, что вы делаете на каждом шаге вне sproc.
Длинные запросы - это нормально, но будьте осторожны, вызывая их с веб-страниц, поскольку Asp.Net на самом деле не оптимизирован для долгого ожидания, и некоторые соединения будут отключены.
Еще немного информации о пуле соединений ... вы уже используете его с SqlClient, но только если ваша строка подключения идентична для каждого нового соединения, которое вы открываете. Насколько я понимаю, фреймворк будет автоматически объединять соединения, когда это возможно, но если строка соединения даже немного отличается от одного соединения к другому, тогда новое соединение не будет поступать из пула - оно создается заново (так что это дороже ).
Вы можете использовать приложение Performance Monitor с XP / Vista для наблюдения за соединениями SQL, и вы довольно быстро увидите, используется ли пул. Просмотрите категорию «Данные .NET CLR» в системном мониторе.
Я второй Кит; если вы вызываете хранимую процедуру 30 000 раз, у вас возникают гораздо более серьезные проблемы, чем создание пула соединений.
На ваш вопрос также частично ответил эта ветка. Поиск показал бы это .. Определение пула соединений, для которого Google ответил бы первым попаданием это ..
Что оставит только лучшие практики, что, я думаю, было бы хорошим вопросом :)
+1 к Ответ Кита. Он попал прямо в голову.
Просто вежливое напоминание из FAQ:
You've searched the internet before asking your question, and you come to us armed with research and information about your question ... right?