Не могли бы вы помочь мне решить, какой из следующих сценариев будет работать лучше всего.
У меня есть 3 пользовательских элемента управления.Каждый элемент управления должен генерировать контент на основе результатов запроса SQL Server, например, пользовательский элемент управления # 1 заполняет представление grid с выходными данными запроса.
Я хочу использовать кэширование, чтобы уменьшить количество циклов.поездки в мою базу данных SQL Server.Я предложил следующие два решения и хотел бы знать, какое из них будет работать лучше.
Сценарий № 1:
Поместите все 3 запроса пользовательского элемента управления в одну хранимую процедуру SQL Server.(Пакетная обработка), выполните хранимую процедуру вне пользовательских элементов управления внутри содержащей страницы, а затем предоставьте каждому пользовательскому элементу управления свой запрос.Количество обращений к базе данных будет сокращено за счет размещения всех трех запросов в одной хранимой процедуре.
Кэширование в этом сценарии будет происходить путем кэширования вывода хранимой процедуры.Следовательно, выходные данные хранимой процедуры будут извлекаться из памяти каждый раз, чтобы предоставить каждому пользовательскому элементу управления свои выходные данные, после чего каждый пользовательский элемент управления будет генерировать свои выходные данные.Приблизительно 188 различных версий запроса будут кэшироваться объектным кэшированием ASP.NET.
Сценарий № 2:
Запросите базу данных SQL Server индивидуально внутри каждого пользовательского элемента управления, а затем сгенерируйте каждого пользователявывод элемента управления с результатами запроса, которые каждый получил.Это означает, что каждый пользовательский элемент управления будет отдельно вызывать базу данных SQL Server.Кэширование в этом сценарии будет происходить путем кэширования вывода каждого пользовательского элемента управления, поэтому пользовательским элементам управления не придется каждый раз генерировать свои выходные данные, и они могут получать свои выходные данные непосредственно из памяти.Подвох в этом сценарии заключается в том, что мне придется кэшировать около 188 различных версий одного или нескольких пользовательских элементов управления.
Заранее спасибо