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

  • LG Mobile Global

    LG Mobile Gl

    2 EYLÜL 2010
  • MkElite

    MkElite

    13 NİSAN 2012
  • Music EuroDance 2

    Music EuroDa

    12 Mayıs 2011