Paging .. pagination .. sql2005

2 отговора 100 прегледа
#1

Paging .. pagination .. sql2005

Някой знае ли готин начин да правя paging на резултати от sql server 2005?

По-готин начин от доброто стара "select top X" .. "where Y > Z" както се правеше на sql2000

бях чувал, че в 2005-цата ще има готин начин като на mySQL-а, ама никъде не мога да намеря инфо за това. А в този форум може ли да се намери инфо за това? :-)

Отговор
в отговор на sheva #2

Re: Paging .. pagination .. sql2005

Не мисля, че LIMIT клауза с 2 параметъра е по-"готино" от TOP+WHERE. Струва ми се, че страницирането трябва да се извършва от репортинг енджина (там има понятие страница),
а разделяне на редовете с данни на групи от по Х реда (ако на някой му е нужно изобщо), от клиентската част.

Е, общите веб работници не знам как ги правят тия неща

Never fail, never quit!
Отговор
в отговор на Fucus #3

Re: Paging .. pagination .. sql2005

Paging v SQL Server 2005 се прави с функцията ROW_NUMBER() която липсва в предишните версии, има много примери из нета затова няма да давам.
А страницирането трябва да се извършва то4но кадето е информацията, а именно в DB server-a. Главните причини са че 1. DB engine-a е оптимизиран за операции с множества 2.network трафика се намаля зна4ително, особено при queries които връщат 100-ци хил+. редове.
Общите веб работници вземат DataGrid ili GridView или каквото им падне там, закачат го към един DataSource (Внимание: никакво писане на програмен код, само мишка!!!) включват paging и работата е готова, а будалите пишат Stored Procedures...докато им дойде акъла в главата

Отговор