При использовании профайлера обнаружили следующий момент:
при установленном параметре "40 записей реестра на страницу" и постраничном пролистывании записей из базы запрашиваются не 40 записей а Top"Х", где Х ="40 * номер страницы".
Например, находясь на 9 странице записей и переходя на 10ю, вместо нужных 40 записей грузится 400 и из них выводится только 40.
На мой взгляд, это весьма не оптимальное решение постраничной загрузки, т.к. к клиенту передается большое количество ненужной ему информации. Представьте, что вы используете систему в удаленном доступе через слабый интернет-канал...
Здесь, например, приводятся методы, которые выдают клиенту только те записи, которые ему действительно нужны:
http://databases.aspfaq.com/database/how-do-i-page-through-a-recordset.html
Для SQL2005
http://www.sqlteam.com/article/server-side-paging-using-sql-server-2005
Существуют и другие методы.
Компания Террасофт прокомментировала данное решение, что иные методы (например, приведенные выше в ссылках) создают дополнительную нагрузку на сервер.
Мое мнение, что лучше пусть потрудится специализированное оптимизированное специальное, как правило, мощное железо - сервер, чем по каналам гонять такие массивы.
Вот интересно было бы узнать, а кто что думает по этому поводу?