#sql-server #razor #database-connection #connection-pooling
#sql-сервер #razor #база данных-подключение #объединение пулов соединений
Вопрос:
Я делаю одну страницу CSHTML для демонстрации. Страница открывает соединение с внутренней базой данных MS SQL следующим образом:
var db = Database.Open("connection_string");
Мне интересно узнать о следующем сценарии:
Предположим, что на эту страницу поступает много запросов. Я пришел из мира Java и понимаю, что пул подключений к базе данных может повысить производительность.
Мой вопрос: как я могу настроить пул подключений к базе данных в этой настройке системы (один файл CSHTML, IIS, MS SQL server)?
Большое спасибо за любую информацию.
С уважением.
Ответ №1:
ADO.NET автоматически объединяет соединения. В .NET объединение пулов почти никогда не является проблемой и по умолчанию включено. С этим вообще редко приходится иметь дело.
Если вы не отключили его, он включен и работает, и вы не замечаете никакой разницы. Вы можете установить для него значение off в строке подключения. Если в вашем ничего не говорится о объединении, все хорошо.
Для .NET-разработчика странно, что с Java-пулом есть о чем подумать. Накладные расходы на подключение кратны стоимости выполнения дешевого запроса. Без объединения производительность полностью снижается. В большинстве случаев у вас должен быть пул.
Комментарии:
1. usr, большое спасибо за вашу информацию. Я рад это знать . NET обрабатывает это автоматически в серверной части. Не могли бы вы обновить свой пост с помощью «где его включить / выключить»? Я хотел убедиться, что он включен в моем случае.
2. Не могли бы вы обновить свой пост своим комментарием выше? Я хочу, чтобы в этом сообщении был полный ответ, который был бы проще для других людей, таких как я. Я выберу ваш пост в качестве ответа. Еще раз спасибо!
3. Почему он должен? Это хорошо документировано. Если у вас есть какие-либо вопросы относительно строк подключения — перейдите по connectionstrings.com 😉