Im в настоящее время создает webportal с ASP.NET, который в значительной степени зависит от использования базы данных. В принципе, каждый (почти каждый: P) запрос GET от любого пользователя приведет к запросу в базу данных с веб-сервера.Открытие соединения с базой данных один раз или при каждом транзакции базы данных?
Теперь я действительно новичок в этом, и меня очень беспокоит производительность. Из-за моего отсутствия опыта в этой области я действительно не знаю, чего ожидать.
Мой вопрос заключается в использовании ADO.NET, было бы разумнее выбрать статическое соединение, открытое с веб-сервера, в базу данных, а затем проверить целостность этого соединения с сервером перед каждым запросом в базу данных? - Или мне было бы лучше открыть соединение перед каждым запросом, а затем закрыть его потом?
В моей голове первый вариант будет лучше, если вы сохраните время квитирования и т. Д. Перед каждым запросом и сохраните память как на базе данных, так и на стороне сервера, так как у вас есть только одно соединение, но есть ли какие-либо проблемы с этим подход? Могут ли два запроса отправить одновременно потенциально уничтожить целостность друг друга или смешать возвращаемый набор данных?
Я пробовал искать везде здесь и в Интернете, чтобы найти лучшие практики, но не повезло. Ближе всего я получил это: is it safe to keep database connections open for long time, но это кажется более подходящим для распределенных систем, в которых у вас более одного пользователя базы данных, тогда как я получил только свой веб-сервер.
Это звучит так, будто он должен делать это самостоятельно. Но пусть ADO.Net сделает свою работу лучше. – BendEg