Diğer cevaplar için nedenleri hakkında doğru değil koşmak DBCC FREEPROCCACHE
. Ancak, bunu yapmanın birkaç nedeni de var:
- Tutarlılık
Aynı şeyi farklı şekillerde yapmaya çalışan iki farklı soruyu veya işlemi karşılaştırmak istiyorsanız, aynı sayfalara ulaşma olasılıkları yüksektir. Saf bir şekilde # 1 numaralı sorguyu çalıştırırsanız, # 2 numaralı sorguyu çalıştırırsanız, ikincisi daha hızlı olabilir; çünkü bu sayfalar ilk sorgu tarafından önbelleğe alınır. Her yürütmeden önce önbelleği temizlerseniz, düz bir zeminde başlarlar.
Sıcak önbellek performansını sınamak istiyorsanız, sorguları birkaç kez çalıştırdığınızdan, değiştirdiğinizden ve ilk birkaç çalıştırmayı attığınızdan emin olun. Sonuçları ortalama.
- En kötü durum performansı
Sıcak önbelleğe karşı bir saniye, soğuk bir önbelleğe karşı bir dakika süren bir sorunuz olduğunu varsayalım. Bellek içi sorguyu% 20 daha yavaş, ancak IO'ye bağlı sorguyu% 20 daha hızlı yapan bir optimizasyon büyük bir kazanç olabilir: normal işlemler sırasında, normal şartlar altında hiç kimse fazladan 200 msn normal koşullarda fark etmez diske karşı çalıştırmak, 60 yerine 48 saniye sürmek bir satıştan tasarruf sağlayabilir.
Bu, onlarca gigabayt belleğe ve nispeten hızlı SAN ve SSD depolamaya sahip modern sistemlerde daha az endişe vericidir, ancak yine de önemlidir. Bazı analistler, arabellek önbelleğinizin yarısını silecek olan OLTP veritabanınıza karşı büyük bir tablo tarama sorgusu gerçekleştirirse, depolama açısından verimli sorgular sizi daha hızlı hızlandırmanızı sağlar.
DBCC FLUSHPROCINDB
oluştu: DBCC deyimine hatalı sayıda parametre verildi.