22
“SQL Optimizer…” DISTINCT yerine EXISTS kullanımı
Posted by Zafer | Posted in SQL | Posted on 22-09-2008
Önerilmez
-
SELECT DISTINCT product_id, name FROM products pr, purchase pu
-
WHERE pr.product_id = pu.product_id
Önerilir
-
SELECT product_id, name FROM products pr
-
WHERE EXISTS ( SELECT 1 FROM purchase pr WHERE pr.product_id = pu.product_id)
Sorguda gelen kayıtlarda tekrarlı olanları görüntülememek için DISTINCT kullanılır. EXISTS ise bir alt
sorguda gelen kayıtlar içinde istenilenlerin olup olmadığını kontrol eder. DISTINCT, gelen sonuçlarda
tekrarlı olanları belirlemeden önce sıralama yaptığıdan verimsizdir ve bu yüzden de EXISTS tercih
edilmelidir.
Kaynak : SQL Tuning El Kitabı call 7/24
