В настоящее время я создаю веб-портал с ASP.NET, который в значительной степени зависит от использования базы данных. По сути, каждый (почти каждый: P) GET-запрос любого пользователя приводит к запросу к базе данных с веб-сервера.
Теперь я действительно новичок в этом, и я очень обеспокоен производительностью. Из-за недостатка опыта в этой области я не знаю, чего ожидать.
Мой вопрос заключается в том, чтобы с помощью ADO.NET было бы разумнее выбрать просто оставить статическое соединение открытым от веб-сервера к базе данных, а затем проверять целостность этого соединения на стороне сервера перед каждым запросом к базе данных? - Или мне лучше открыть соединение перед каждым запросом, а затем закрыть его?
В моей голове первый вариант был бы лучше, так как вы экономите время на рукопожатие и т. Д. Перед каждым запросом и экономите память как на базе данных, так и на стороне сервера, поскольку у вас есть только одно соединение, но есть ли недостатки этого подхода ? Могут ли два запроса, отправленные одновременно, потенциально разрушить целостность друг друга или смешать возвращенный набор данных?
Я пытался искать повсюду здесь и в Интернете, чтобы найти лучшие практики по этому поводу, но безуспешно. Самое близкое, что я получил, было следующее: безопасно ли держать соединения с базой данных открытыми в течение длительного времени , но это кажется более подходящим для распределенных систем, где у вас более одного пользователя базы данных, тогда как я получил только свой веб-сервер ..