Dinamik bir SQL parçam var. Koşmak yaklaşık 4 dakika sürüyor. Bunun yerine SQL'in çıktısını alıp bunu çalıştırırsam yaklaşık 20 saniye sürer. Neden uyuşmazlık? Dinamik sürümde SQL'in oluşturulmasının biraz zaman alacağını biliyorum, ancak bunun pahalı olduğunu düşünemiyorum.Dinamik SQL sabit kodlanmış eşdeğerden çok daha uzun sürüyor
Herhangi bir fikri olan var mı? İki sorgu aynı olmalı, sorgulama önbelleği ile garip bir şey olduğundan şüpheleniyordum, ama gerçekten bir fikri yok.
Düzenleme: Çıktının alınmasıyla neyi kastettiğimi açıklığa kavuşturmak.
dinamik SQL son satırı Ben MyQuery değerini aldı ve kendi SQL dosyaya koydu
EXEC sp_executesql @myQuery,
N'@var1 INT,
@var2 INT,
@var2 INT',
@var1,
@var2,
@var3
olduğunu. Bu, yürütmeyi kullanan dinamik olanı 4 saniyede alırken 20 saniyede çalışıyor.
Düzen 2 Parametreleri kaldırdım. İlginç sonuçlar aldım. Dinamik SQL deyimi bir performans iyileştirmesi gördü. Hardcoded sürümü büyük bir performans isabeti gördü. İkisi şimdi yaklaşık eşittir.
Lütfen kodunuzu gönderin. – Taryn
Kodunuzu gösterebilir misiniz? –
Daha fazla bilgi eklemelisiniz, ancak eğer daha hızlı kodlanmışsa, kesinlikle yanlış bir şey yapıyorsunuz demektir. – TFennis