Если вы обнаружите, что ваши задержки поступают из БД, проверьте таблицы, убедитесь, что они правильно проиндексированы, кластеризованы или что-то еще, что вам нужно, в зависимости от объема данных в таблице. Кроме того, если вы используете динамические запросы, попробуйте вместо этого хранимые процедуры.
Если вы хотите выполнить несколько запросов за один запрос к базе данных, вы можете. Поскольку изначально вы не будете показывать какие-либо данные до тех пор, пока все запросы не будут выполнены в любом случае, и не будете исключать любые другие проблемы, вы по крайней мере сэкономите время на повторном обращении к БД для каждого запроса.
Наборы данных содержат набор таблиц, они могут быть сгенерированы несколькими запросами в одном запросе.
ASP.NET уже предоставляет вам довольно хороший механизм для кэширования (HttpContext.Cache), который вы можете обернуть вокруг и упростить его использование. Поскольку вы можете установить срок службы ваших кэшированных объектов, вам не нужно беспокоиться о том, что статьи и заголовки не будут обновлены.
Если вы используете веб-формы для этого веб-сайта, отключите ViewState для элементов управления, которые им действительно не нужны, просто чтобы страница загружалась немного быстрее. Не говоря уже о множестве других настроек и изменений, ускоряющих загрузку страницы (сжатие, минимизация скриптов и т. Д.)
Тем не менее, прежде чем делать что-либо из этого, сделайте, как Энтони предложил и профилируйте свой код. Узнайте, в чем истинная проблема.