Как повысить эффективность GridView или DetailsView в ASP.NET? - PullRequest
5 голосов
/ 29 июля 2010

В ASP.net, когда мы выполняем разбиение по страницам через Gridview или DetailsView, чем Gridview каждый раз выбирает все строки из базы данных.

Предположим, что наша База данных содержит 100 строк, и мы настроили Paging в Gridview с размером страницы 10 записей на страницу. Но всякий раз, когда мы нажимаем на пейджинговый элемент управления gridview для любой конкретной страницы, нет. тогда GridView должен извлечь из базы данных только определенные 10 строк.

Если мы нажмем на страницу № 3, то она должна запросить только строки 21-30, но она выберет все строки и пренебрегает оставшимися. Это просто потеря ресурсов.

Может ли кто-нибудь из вас предложить мне решение этой проблемы?

Ответы [ 3 ]

7 голосов
/ 29 июля 2010

Чтобы реализовать эту оптимизированную выборку данных, вы должны реализовать пользовательский пейджинг (вместо того, чтобы использовать пейджинг GridView). Кроме того, вы должны использовать SQL, чтобы получить только те строки, которые вы хотите отобразить на странице (не все данные).

Смотрите следующие ссылки:

Пейджинг в Asp.net

Пейджинг тонн данных в GridView

Как получить определенные строки из таблицы по диапазону идентификаторов

Пейджинг больших наборов данных в SQL Server

3 голосов
/ 29 июля 2010

Вы можете использовать настраиваемую подкачку в наборах данных ASP.NET 2.0.

Кроме того, можно воспользоваться другими способами подкачки больших наборов данных

2 голосов
/ 29 июля 2010

Если вы используете Sql Server 2005+, вы можете попробовать использовать функцию ROW_NUMBER для просмотра базы данных, как описано в этой статье:

Пейджинговые записи с использованием базы данных SQL Server 2005 - функция ROW_NUMBER

...