SQL Server ile Verinin Sayfalanması ( SQL Server Paging)

By | 7 Şubat 2017

Merhabalar,
Bugün sizlere verinin sayfalanması (paging ) işlemini SQL Server ile nasıl yapabileceğimizi göstereceğim. Bu konu ile ilgili olarak SQL Server 2012 ile hayatımıza girmiş yeni özellik olan OFFSET and FETCH bahsediyor olacağım.

SQL Server 2012 ile OFFSET and FETCH Özelliğinin kullanımı

  • İlk n kaydı hariç tutmak için genel sözdizimi aşağıdaki gibidir.

SELECT sutun-adlari    FROM tabloadi  ORDER BY sutun-adlari  OFFSET n ROWS

  • İlk n kaydı hariç tutmak ve yalnızca sonraki m kayıtlarını getirmek için

SELECT sutun-adlari    FROM tabloadi   ORDER BY sutun-adlari OFSET n ROWS FETCH NEXT m ROWS ONLY

Yukarıdaki sorgunun çıktısı ise (n + 1) ila (n + 1 + m) arasında olan değerleri olacaktır.

Şimdi ise Offset – Fetch özelliğini kullanarak sayfalama işlemini nasıl yapabiliriz ona bakalım. Aşağıdaki sorgu ihtiyacımızı görecektir.

Yukarıdaki çıktıyı incelediğinizde declare ile iki tane değişken tanımlaması yaptığımı ve @PageNumber için 0 @pagesize için 10 değerlerini verdiğimi görüyorsunuz. Result tarafında ise verdiğim değerlere göre gelen ilk sayfa verileri görüyorsunuz. Eğer ki ben PageNumber değerini 0, PageSize değerini ise 20 yapsaydım result tarafında 0 ile 20 arasındaki ürünler gelecektir.

Pagesize değeri ekranda kaç adet veriyi göstereceğiniz bilgisi, pagenumber ise kaçıncı sayfanın verisi olduğunu sizlere gösteriyor olacaktır. Yani PageNumber’I = 2, PageSize’de 20 yaparsanız ProductID değeri 40 dan büyük olan 20 ürünü görüntülemiş olursunuz.

Buradaki PageNumber ve PageSize değerlerini Stored Procedure parametreleri olarak düşünecek olursanız artık uygulamalarınızda paging yapma tarafını sql server tarafında daha da hızlıca yapabiliyor olursunuz eğer ki sql server 2012 öncesi bir sürüm kullanıyorsanız işlem kümenizi sıralayıp operatorler ile ihtiyacınıza uygun sayfalama verilerini oluşturabilirsiniz.

 

Share

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir