SORU
14 Ocak 2010, PERŞEMBE


SQL Server vs Performansı VAR

Aşağıda daha verimli olurdu merak ediyorum?
Her zaman SQL Server sonuç IF büyük bir ifadesine set döner inanıyorum, çünkü bir bit IN kullanırken dikkatli oldum. Büyük bir sonuç kümesi için bu kötü performansa neden olabilir. Küçük sonuç kümeleri için, ya da tercih edilir emin değilim. Büyük sonuç kümeleri için, EXISTS daha verimli olmaz mı?

WHERE EXISTS (SELECT * FROM Base WHERE bx.BoxID = Base.BoxID AND [Rank] = 2)

vs

WHERE bx.BoxID IN (SELECT BoxID FROM Base WHERE [Rank = 2])

CEVAP
14 Ocak 2010, PERŞEMBE


EXISTS koşul doğru olduğunu kanıtladı bu motorun bir isabet bulduktan sonra bakmayı bırak, çünkü daha hızlı olacaktır.
IN ile işlenmesi önce alt sorgu tüm sonuçları toplamak olacaktır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★TheCrono Official Channel★

    ★TheCrono

    3 Mayıs 2014
  • cosmicrocketman

    cosmicrocket

    17 NİSAN 2006
  • The Platform

    The Platform

    14 HAZİRAN 2006