Sql Server Sayfalama (pagination)
Merhabalar,
Sql server üzerinde 1 milyonluk datalı tablodan performanslı sayfalama (paging) sorgusu örneğini aşağıda bulabilirsiniz. Where kriterine ekstra kolonlar eklenecek ise index tanımlamayı unutmamak gerekir.
;WITH Siparisler AS
(
SELECT *, ROW_NUMBER() OVER(ORDER BY tSiparisID ASC) rownum FROM tSiparisler
)
SELECT * FROM Siparisler WHERE rownum BETWEEN 1 AND 20;
Sql Server 2012 ve üzeri db versiyonu kullanıyor isek alternatif olarak aşağıdaki sorguda tercih edilebilir.
SELECT * FROM tSiparisler ORDER BY tSiparisID ASCOFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY;