подкачка и производительность - PullRequest
0 голосов
/ 23 марта 2011

Q: Я хочу спросить о: пейджинг.

- это функция пейджинга в .net, которая влияет на производительность, я имею в виду, что иногда у меня большие данные, если я хочу связать эти данные в gridviewнапример, «пейджинг», например, по счетчику 10, приносит 10 записей и 10 и т. д. или так же, как если бы я не использовал пейджинг, он сначала приносит все данные, а затем просматривает их в соответствии с количеством пейджеров ... еслинет никакой связи между подкачкой и производительностью, какова лучшая практика в этом случае?.

Ответы [ 2 ]

3 голосов
/ 23 марта 2011

Зависит от того, как реализован пейджинг.Более ранние версии некоторых серверных элементов управления, которые обрабатывали разбиение на страницы, считывали весь набор данных в память и затем выбирали подмножество доступных записей.Это невероятно неэффективно, поскольку вы уже понесли транспортные расходы на перемещение данных из вашей базы данных, а также затраты памяти на их хранение.

Что вы можете сделать, это выполнить разбиение на страницы на уровне базы данных, передавая номер страницы и количество элементов для извлечения, и таким образом вы только читаете подмножество данных в источнике.Это будет намного более производительным.Единственным недостатком является то, что вам может потребоваться добавить еще один запрос к базе данных, чтобы определить общее количество элементов, чтобы вы могли правильно просматривать страницы.В общем, я думаю, что «пейджинг в источнике» всегда является предпочтительным решением.

1 голос
/ 23 марта 2011

Насколько я знаю, все серверные элементы управления ASP.NET, такие как DataGrid, загружают весь набор результатов, а затем просто отображают одну страницу. Вы должны реализовать это сами.

Здесь обсуждается это: http://www.codeproject.com/KB/aspnet/PagingLarge.aspx

...