Sep 20 2011

SQL de TOP kullanılan sorguların performans sorunu

Gönderen : Sevda Mersin (12:55 PM)
2 yorum
- Kategori : SQL

CfCube.com

Büyük tablolar üzerinde sorgu yazıyorsanız ve TOP deyimini kullanıyorsanız yaşadığınız performans sorunlarını çözmek için ROW_NUMBER fonksiyonunu kullanabilirsiniz. ROW_NUMBER fonksiyonu sizin belirlediğiniz bir kriter üzerinden sorguda dönen değerleri sıralayıp sıra numarası verir böylelikle istenilen sıra numarasındaki kayıtlara ulaşılabilirsiniz.

TOP ile kullanım;


SELECT
          ID,
          NAME
FROM 
          TABLE1
WHERE
          ID =
                 (
                 SELECT
                          TOP 1 ID
                 FROM 
                          TABLE1
                 ORDER BY
                         RECORD_DATE DESC
 )

ROW_NUMBER ile kullanım;

SELECT
          ID,
          NAME
 FROM 
          TABLE1
 WHERE
           ID =
                 (
                 SELECT
                           T2.ID
                 FROM
                        (
                          SELECT
                                    ID,
                                    (ROW_NUMBER() OVER (ORDER BY RECORD_DATE DESC)) ROW_NUMBER 
                          FROM 
                                    TABLE1
                          )T2
               WHERE
                          ROW_NUMBER = 1
                 )

Yorumlar

mahmut er

mahmut er yazdı : 10/03/11 4:02 PM

bende onu diyorum ROW_NUMBER diyorum :) Biz bunu düşünmüşüz :P
admission essay

admission essay yazdı : 01/03/12 1:34 PM

In my opinion it should be really important solution for all developers in big projects!

Yorumunuzu YazInIz



(daha sonra görüntülenmeyecek)



Leave this field empty: