Вот сценарий:
У вас есть приложение ASP.Net, поддерживаемое базой данных Microsoft SQL Server, и для этого примера кэширование не будет.
Что эффективнее для каждой страницы в вашем веб-приложении:
Попытка объединить все, что вам нужно, в один (или несколько) вызовов хранимых процедур, которые возвращают несколько таблиц со всеми необходимыми данными (которые вы сохраняете в наборе данных),
или
сделать каждый вызов отдельным (чтение каждого вызова через устройство чтения данных), в зависимости от того, насколько логически это имеет смысл.
Причина, по которой я спрашиваю, заключается в том, что я всегда выполняю все по-другому: создаю простые методы, которые подключаются к базе данных и получают некоторые данные для каждой маленькой задачи, которую я имею (т.е. метод для заполнения определенного выпадающего списка, другой для основного информация для страницы и т. д.).
Меня беспокоит то, что в итоге происходит, когда запрашивается страница, если я посмотрю на SQL Profiler для сервера, в итоге будет около 10 или около того вызовов для этого запроса на одну страницу. Это чрезмерно? На мой взгляд, кажется, что было бы более эффективно сокращать сбор данных по страницам, а не задачам. У кого-нибудь есть опыт с этим?