29 Temmuz 2009, ÇARŞAMBA
SQL performans vs KATILMAK mı?
KATILIN ya da bir bir kullanarak bana doğru sonuçlar verir... genelde daha iyi performansa sahip Olan ve neden bir dava var mı? Ne kadar çalıştırıyorsunuz ne mi bağlı? (BİLGİNİZE MSSQL kullanıyorum)
CEVAP
29 Temmuz 2009, ÇARŞAMBA
Genellikle, IN
JOIN
konuşma farklı sonuçlar farklı sorgular.
SELECT a.*
FROM a
JOIN b
ON a.col = b.col
aynı şey değildir
SELECT a.*
FROM a
WHERE col IN
(
SELECT col
FROM b
)
b.col
benzersiz deÄŸilse.,
Ancak, bu ilk sorgu için eşanlamlı
SELECT a.*
FROM a
JOIN (
SELECT DISTINCT col
FROM b
)
ON b.col = a.col
Eğer birleştirme sütunu gibi UNIQUE
iÅŸaretli ise, hem bu sorgu SQL Server
aynı plan verim.
EÄŸer deÄŸilse, o zaman IN
DISTINCT
daha hızlı JOIN
daha.
Performans detayları için: blogumda bu makaleye bakın
Bunu PaylaÅŸ:
64-bit ile 32-bit döngü sayısı bir değ...
Hızlı performans: dizileri sıralama...
Nasıl (birleştirme) veri çerçevesi (iç...
DateTime.Şimdi en iyi şekilde ölçmek i...
Vs katılmak sub-query...