У меня есть приложение C # 2008 (серверная часть SQL Server 2008), где иногда запросы возвращают большое количество результатов.Итак, я исследовал некоторые алгоритмы пейджинга и использовал один из них, использующий оператор TOP.Мне нравится тот факт, что если у меня всего 500 результатов и я показываю только 20 результатов на странице, я могу запросить в базе данных только 20 записей вместо сохранения всех 500 записей в памяти.что для реализации алгоритма разбиения на страницы мне нужно знать, сколько всего записей в этом запросе.Итак, я просто запустил другой запрос с теми же параметрами, который просто выбирает идентификатор (а не весь объект), чтобы попытаться запустить его быстро.По какой-то причине, я думаю, что выполнение этих двух запросов (таким образом, установление двух соединений) не лучший подход.
Так что мне нужно количество всех записей, но я хочу выбрать только ограниченное число, используемое в TOP.Будет ли здесь полезна временная таблица?Сейчас у меня есть две разные хранимые процедуры.
Спасибо за любые советы по "наилучшей практике", которые может дать каждый.