2011-09-19 14 views
9

Yalnızca toplu işlerin% 1'inden daha büyük olan öğeleri göstermenin bir yolu var mı?SQL Server yürütme planları: darboğazları göstermek için filtre?

Bir proc içinde darboğazlar bulmaya çalışıyorum, döngüleri ve diğer mantığı ve umurumda değilken gerçekleştirdiğim yürütme planının% 99'unu içeriyor, ancak Management Studio'da gezinmek ve gerçekten de parçaları bulmak zor. Ağırdan almak.

cevap

12

SQL Sentry Plan Explorer'a baktınız mı? Bu, Yönetim Stüdyosu ile entegre olabilen ve planları analiz ederken çok daha fazla netlik sağlayan% 100 ücretsiz bir araçtır. Çok hızlı bir örnek hızlı herhangi bir grafik planının en pahalı düğüm (ler) odaklanabilir gösterir:

enter image description here

İndir:

http://sqlsentry.net/plan-explorer/sql-server-query-view.asp

Yazdığım Son zamanlarda blog yazısı,

http://sqlblog.com/blogs/aaron_bertrand/archive/2011/09/13/a-demo-kit-for-sql-sentry-plan-explorer.aspx

: yoğun talep üzerine, diğerleri daha kolay yürütme planları Planı Explorer ile olabilir ne kadar canlanmasını sağlıyor

Asıl sorunuzu, plandaki düşük veya sıfır maliyetli işlemleri gizlemez, ancak kırmızı, turuncu ve sarı renkli en pahalı düğümleri gösterir; Ayrıca aramaları ve taramaları da vurguluyoruz ve aynı zamanda maliyeti sadece CPU + I/O, yalnız CPU veya yalnız I/O olarak gösterebiliyorsunuz (SSMS'de sadece kombinasyonu kullanabilirsiniz). Aradığınız performans sorunlarının birçoğu, Properties panellerinde saklı kalmak yerine, ilginç araç ipuçlarını gizlemek veya hiç sunulmamak yerine, ön ve orta veya ayrıntılı sekmelerden biridir. Grafik plandaki geliştirmelere ek olarak, Statements Tree düğümüne göre sıralayarak (bir çok ilgili ancak daha düşük maliyetli deyimle) döngüde gerçekleşen belirli ifadelere de odaklanabilirsiniz. Tahmini ve gerçek sıralardaki farklar (gerçek planlar için) potansiyel istatistik konularını vurgulayabilir; Anahtar aramanın gerektirdiği sütunlar, eksik dizin sütunlarını hızlı bir şekilde (veya olmaması gereken bir SELECT * sorgusu) tanımlayabilir; ve çalışma zamanı ve derlenmiş parametreler, RECOMPILE, OPTIMIZE FORMATINI kullanmak veya "ad hoc iş yükleri için optimize et" seçeneğini kullanmak isteyebileceğiniz parametre koklama sorunlarına işaret edebilir. Son olarak, Management Studio'dan farklı olarak, araç içinde gerçek bir plan oluşturarak çalışma zamanı ölçümlerini (süre, CPU, okur, vb.) Kolayca oluşturabilirsiniz. Yerleşik araçlarla SET seçenekleriyle uğraşmanız veya bu metrikleri almak için profiler kullanmanız gerekir. - ve hatta bunlarla bile sonuçların müşteriye ulaşmasıyla ilgili çalışmaları indirmeniz gerekir (Plan Gezgini, sorguyu sunucuda çalıştırır, ancak sonuçları atar).

+0

+1. – Icarus

1

SSMS Tools Pack Addin'un en son sürümünü bugün indirdim ve şimdi bu konuda yardımcı olabilecek bazı yeni işlevlere sahip olduğunu fark ettim.

Temel olarak, bir yüzde ve bir metriği yapılandırabilirsiniz (örneğin, genel tahmini maliyet veya tahmini IO maliyeti) ve bu eşiği aşan operatörler, maliyet sırasına göre planın solunda listelenir ve belirli bir sayfaya gitmek için tıklanabilir Şebeke.

Screenshot

daha iyi bir fikir için Execution Plan Analyser ekran görüntüleri bakın. Takım tavsiyesi için