sys.dm_exec_query_optimizer_info (Transact-SQL)
Çalışması hakkında ayrıntılı istatistikleri döndürür SQL Server sorgu iyileştiricisi.Sorgu en iyi duruma getirme sorunları veya iyileştirmeler tanımlamak için bir iş yükünü ayarlama yaparken bu görünümü kullanabilirsiniz.Örneğin, son maliyet değerini en iyi duruma getirme ve geçen saat değeri toplam sayısı sorgu en iyi duruma getirme geçerli iş yükünü ve ayarlama işlemi sırasında gözlemlenen değişiklikleri karşılaştırmak için kullanabilirsiniz. Bazı sayaçlar yalnızca ilgili veri sağlayan SQL Server iç tanılama kullanın.Bu sayaçlar yalnızca "İç" olarak işaretlenmiş
Ad |
Veri türü |
Açıklama |
---|---|---|
sayaç |
nvarchar(4000) |
En iyi duruma getiricisi İstatistikleri olayadı. |
oluşumu |
bigint |
Bu sayaç için en iyi duruma getirme olay oluşum sayısı. |
value |
float |
olay tekrarı başına ortalama özellik değeri. |
İzinler
Sunucu üzerindeki görünüm server state izni gerektirir.
Açıklamalar
sys.dm_exec_query_optimizer_info (sayaç) aşağıdaki özellikleri içerir.Tüm yinelenme deðerleri toplu ve sistem yeniden başlatma sırasında 0 küme .Tüm değer alanları için küme null sistem yeniden başlatma sırasında değerlerdir.Ortalama belirttiğiniz tüm değersütun değerleri, ortalama hesaplanmasında payda olarak aynı satırda oluşumu değerini kullanın.Tüm sorgu en iyi duruma getirme zaman ölçülen SQL Server değişiklikleri belirler dm_exec_query_optimizer_info, her iki kullanıcı ve sistem tarafından oluşturulan sorgular dahil.Zaten önbelleğe alınmış bir plan yürütülmesini değerlerde değiştirmez dm_exec_query_optimizer_info, en iyi duruma getirme önemli yalnızca.
Sayaç |
Oluşumu |
Değer |
---|---|---|
en iyi duruma getirme |
En iyi duruma getirmeleri sayısı. |
Uygulanamaz |
geçen saat |
En iyi duruma getirmeleri sayısı. |
Saniye cinsinden geçen saat tek tek deyim (sorgu) en iyi duruma getirme başına ortalama. |
son maliyet |
En iyi duruma getirmeleri sayısı. |
Dahili maliyet birimlerindeki optimize edilmiş planı için ortalama tahmini maliyet. |
Önemsiz planı |
Yalnızca dahili |
Yalnızca dahili |
Görevler |
Yalnızca dahili |
Yalnızca dahili |
hiçbir planı |
Yalnızca dahili |
Yalnızca dahili |
0 arama |
Yalnızca dahili |
Yalnızca dahili |
Arama 0 saat |
Yalnızca dahili |
Yalnızca dahili |
Arama 0 görevleri |
Yalnızca dahili |
Yalnızca dahili |
1 arama |
Yalnızca dahili |
Yalnızca dahili |
Arama 1 saat |
Yalnızca dahili |
Yalnızca dahili |
Arama 1 görevleri |
Yalnızca dahili |
Yalnızca dahili |
2 arama |
Yalnızca dahili |
Yalnızca dahili |
Arama 2 saat |
Yalnızca dahili |
Yalnızca dahili |
Arama 2 görevleri |
Yalnızca dahili |
Yalnızca dahili |
Aşama Aşama 1 0 geçirmesine |
Yalnızca dahili |
Yalnızca dahili |
Aşama Aşama 1 1 geçirmesine |
Yalnızca dahili |
Yalnızca dahili |
zaman aşımı |
Yalnızca dahili |
Yalnızca dahili |
bellek sınırı aşıldı |
Yalnızca dahili |
Yalnızca dahili |
stmt Ekle |
INSERT deyimleri olan en iyi duruma getirmeleri sayısı. |
Uygulanamaz |
stmt silme |
delete deyimleri olan en iyi duruma getirmeleri sayısı. |
Uygulanamaz |
Güncelleştirme stmt |
İçin update deyimleri olan en iyi duruma getirmeleri sayısı. |
Uygulanamaz |
alt sorguiçeren |
En az bir alt sorguiçeren bir sorgu için en iyi duruma getirmeleri sayısı. |
Uygulanamaz |
başarısız unnest |
Yalnızca dahili |
Yalnızca dahili |
tablolar |
En iyi duruma getirmeleri sayısı. |
Sorgu en iyi duruma getirilmiş başvurulan tablolar ortalama sayısı. |
ipuçları |
Sayısı bazı ipucu belirtildi.Sayılan ipuçları şunlardır: BİRLEŞİM, Grup, BİRLİĞİ ve force order sorgu ipuçları, kuvvet planlama seçeneği küme ve birleştirmek ipuçları. |
Uygulanamaz |
Sipariş İpucu |
Sayısı zorla sipariş ipucu belirtildi. |
Uygulanamaz |
birleştirmek İpucu |
Sayısı birleştirmek algoritması tarafından bir birleştirmek ipucu zorlandı. |
Uygulanamaz |
Görünüm başvurusu |
Sayısı bir görünüm sorguda başvuruldu. |
Uygulanamaz |
Uzak sorgu |
Neden burada en az bir uzak veri kaynakgibi dört bir ad veya bir openrowset ile tablo sorgu başvurulan en iyi duruma getirmeleri sayısı. |
Uygulanamaz |
en fazla dop |
En iyi duruma getirmeleri sayısı. |
Ortalama etkili maxdop değeri optimize edilmiş planı için.Varsayılan olarak, etkin maxdop tarafından belirlenen parallelism en büyük ölçüde sunucu yapılandırma seçeneğini ve maxdop sorgu ipucu değerine göre belirli bir sorgu için geçersiz kılınmış olabilir. |
en fazla özyineleme düzey |
0'dan büyük MAXRECURSION düzey sorgu ipucu ile belirtilmiş en iyi duruma getirmeleri sayısı. |
En fazla özyineleme düzey sorgu ipucu ile burada belirtilen iyileştirme MAXRECURSION düzey ortalaması. |
Dizin oluşturulmuş görünümler yüklenen |
Yalnızca dahili |
Yalnızca dahili |
Dizin oluşturulmuş görünümler eşleşti |
Burada bir veya daha fazla dizin oluşturulmuş görünümler eşleşen en iyi duruma getirmeleri sayısı. |
Eşleşen görünümleri ortalama sayısı. |
kullanılan dizin oluşturulmuş görünümler |
Bir veya daha fazla dizin oluşturulmuş görünümler eşleşen sonra çıkış plandaki kullanıldığı en iyi duruma getirmeleri sayısı. |
Kullanılan görünümleri ortalama sayısı. |
Dizin oluşturulmuş görünümler güncelleştirildi |
Bir veya daha fazla dizin oluşturulmuş görünümler tutan bir plan üretir iyileştirmeleri DML deyim sayısı. |
Tutulan görünümleri ortalama sayısı. |
dinamik imleç isteği |
Dinamik imleç isteği belirtilmiş en iyi duruma getirmeleri sayısı. |
Uygulanamaz |
Sarma imleç isteği |
Bir ileri sarma imleç isteği belirtilmiş en iyi duruma getirmeleri sayısı. |
Uygulanamaz |
birleştirme stmt |
İçin birleştirme deyimleri olan en iyi duruma getirmeleri sayısı. |
Uygulanamaz |
Örnekler
A.Üzerinde iyileştirici Yürütme istatistiklerini görüntüleme
Bu örnek geçerli iyileştirici Yürütme istatistiklerini nelerdir SQL Server?
SELECT * FROM sys.dm_exec_query_optimizer_info;
B.En iyi duruma getirmeleri sayısı toplam görüntüleme
Kaç iyileştirme gerçekleştiriliyor mu?
SELECT occurrence AS Optimizations FROM sys.dm_exec_query_optimizer_info
WHERE counter = 'optimizations';
C.Ortalama geçen saat başına en iyi duruma getirme
Geçen saat iyileştirme başına ortalama nedir?
SELECT ISNULL(value,0.0) AS ElapsedTimePerOptimization
FROM sys.dm_exec_query_optimizer_info WHERE counter = 'elapsed time';
D.Alt sorgular içeren en iyi duruma getirmeleri kesir
Hangi en iyi duruma getirilmiş sorguları kesir bir alt sorguiçerdiği?
SELECT (SELECT CAST (occurrence AS float) FROM sys.dm_exec_query_optimizer_info WHERE counter = 'contains subquery') /
(SELECT CAST (occurrence AS float)
FROM sys.dm_exec_query_optimizer_info WHERE counter = 'optimizations')
AS ContainsSubqueryFraction;