Optimize edicinin, bazen kesilebileceği tüm olası yürütme planlarını keşfetmek için ihtiyaç duyduğu her zaman alamayacağı göz önüne alındığında (yürütme süresini en aza indirmeli ve katkıda bulunmamalıdır).
Ihtiyacınız olan her zaman (veya milisaniye belirli bir miktarda) optimize edici verebilir böylece bu geçersiz kılınmış olup olmadığını merak ediyordum .
Bu (atm) için bir ihtiyaç yok ama karmaşık bir sorgu sıkı bir döngüde yürütülür ve optimal plan ile gelip elden önce önbellek istediğiniz bir senaryo hayal edebiliyorum.
Tabii ki sıkı bir döngü var, böylece gider gider ama benimle ayı sorguyu yeniden yazmalısınız.
Bu daha çok bir merak meselesi ve bazen kısa devreli bir optimizasyon ve tam bir optimizasyon arasında bir fark olup olmadığını görmek.
İzleyici 2301 bayrağı ile optimize ediciye daha fazla zaman verebileceğiniz ortaya çıkıyor. Tam olarak sorduğum şey değil ama yaklaşıyor.
Bu konuda bulduğum en iyi bilgi Ian Jose tarafından SQL Server 2005 SP1'de Sorgu İşlemci Modelleme Uzantıları .
Bu izleme bayrağını dikkatli kullanın! Ancak daha iyi planlar hazırlarken faydalı olabilir. Ayrıca bakınız:
- Makaleler Grant Fritchey tarafından "optimizasyon seviyesi" olarak etiketlendi .
- SQL Server 2008'e yükseltmeden önce ... Brent Ozar.
- Microsoft Destek tarafından yüksek performanslı iş yüklerinde çalışırken SQL Server için ayar seçenekleri .
Birleştirme siparişi için çözüm alanının katlanarak patladığı çok sayıda birleşime sahip sorgular düşünüyordum. SQL Server'ın kullandığı sezgisel tarama oldukça iyidir, ancak optimizasyon cihazının daha fazla zamana sahip olması durumunda (saniye veya hatta dakika aralığında) farklı bir sipariş teklif edip etmeyeceğini merak ediyordum.