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;