22
“SQL Optimizer…” IN yerine EXISTS kullanımı
Posted by Zafer | Posted in SQL | Posted on 22-09-2008
Önerilmez
-
SELECT product_id, name FROM products
-
WHERE product_id IN ( SELECT product_id FROM purchases )
Önerilir
-
SELECT product_id, name FROM products pr
-
WHERE EXISTS ( SELECT 1 FROM purchases pu WHERE pu.product_id = pr.product_id )
IN bir listede aranan verinin olup olmadığını kontrol eder. EXISTS sadece kayıtların varlığını kontrol
ederken, IN ise gerçek verileri kontrol eder. Alt sorgularda EXISTS daha iyi sonuçlar verdiğinden tercih
edilmelidir.
Kaynak : SQL Tuning El Kitabı call 7/24
