DISTINCT ve GROUP BY Arasındaki Fark (DISTINCT vs GROUP BY)

      DISTINCT ve GROUP BY arasındaki fark İngilizce olarak bir çok yerde değinilmiş ancak Türkçesini göremediğimden yazmak istedim.  

      DISTINCT ve GROUP BY fonksiyonları tamamiyle aynı ya da çok yakın değerlerde Execution Plan üretmekte, dolayısıyla performans anlamında aralarında bir fark bulunmadığı söylenebilir.  Ancak yine de söylenene inanmayıp siz Execution Plan larını karşılaştırarak karar verin..

Eğer SUM,AVG vs. Aggregate SQL Fonksiyonları kullanıyorsanız, mutlak suretle “GROUP BY ” kullanmanız gerekiyor aksi taktirde “ORA-00937: not a single-group group function” hatası almanız muhtemel.

Eğer Aggregate  SQl fonksiyonları kullanmıyorsanız ikisinin arasında tercih yapabilirsiniz.

Kişisel olarak tek bir kolondaki unique değerleri görmek isteğimde “DISTINCT” ; bunun dışında “GROUP BY” fonksiyonunu kullanmayı tercih ediyorum.

Detay için Tom amca’ya başvurabilirsiniz:

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:32961403234212

Yayınlandı: on 13 Nisan 2007 at 9:29 am Yorumlar (1)