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

  • Google Analytics

    Google Analy

    25 ŞUBAT 2008
  • iMasterful

    iMasterful

    11 EYLÜL 2009
  • NightShader1

    NightShader1

    25 Temmuz 2006