Share via


sys.dm_exec_query_optimizer_infoWHERE (Transact-sql)

Detaylı istatistik çalışması hakkında döner SQL Serveren iyi duruma getiricisi sorgu. Sorgu optimizasyon sorunları veya iyileştirmeler belirlemek için ne zaman bir iş yükünü ayarlama bu görünümü kullanabilirsiniz. Örneğin, optimizasyonlar, geçen zaman değeri ve nihai maliyet değeri toplam sayısı sorgu en iyi duruma getirmeleri 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 verileri sağlar SQL Serveriç tanılama kullanın. Bu sayaçlar yalnızca "Dahili" işaretlenir

Ad

Veri türü

Açıklama

Sayaç

nvarchar(4000)

En iyi duruma getiricisi istatistikleri olay adı.

oluşumu

bigint

Bu sayaç için optimizasyon olay oluşum sayısı.

değer

float

Olay olay başına ortalama özellik değeri.

İzinler

Sunucu üzerindeki VIEW server state izni gerektirir.

Açıklamalar

sys.dm_exec_query_optimizer_infoWHERE (sayaç) aşağıdaki özellikleri içerir. Tüm olay değerleri toplu ve, sistemin yeniden başlatılması sıfıra ayarlanır. Değer alanları için tüm değerlerini, sistem yeniden başlatıldığında null olarak ayarlanır. Ortalama belirten tüm değer sütun değerleri ortalama hesaplanmasında payda aynı satırda oluşumu değeri kullanın. Tüm sorgu en iyi duruma getirme zaman ölçülen SQL Serverdeğ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ütme değerlerini değiştirmez dm_exec_query_optimizer_info, sadece optimizasyonlar önemli.

Sayaç

Oluşumu

Değer

en iyi duruma getirme

En iyi duruma getirmeleri sayısı.

Geçerli değildir

geçen süre

En iyi duruma getirmeleri sayısı.

Optimizasyon bireysel deyimi (sorgu), saniye başına ortalama geçen süre.

son maliyet

En iyi duruma getirmeleri sayısı.

Dahili maliyet birimlerindeki en iyi duruma getirilmiş bir planı ortalama tahmini maliyet.

Önemsiz planı

Sadece iç

Sadece iç

görevleri

Sadece iç

Sadece iç

hiçbir planı

Sadece iç

Sadece iç

Arama 0

Sadece iç

Sadece iç

Arama 0 Saat

Sadece iç

Sadece iç

Arama 0 görevleri

Sadece iç

Sadece iç

Arama 1

Sadece iç

Sadece iç

Arama 1 Saat

Sadece iç

Sadece iç

Arama 1 görevleri

Sadece iç

Sadece iç

Arama 2

Sadece iç

Sadece iç

Arama 2 Saat

Sadece iç

Sadece iç

Arama 2 görevleri

Sadece iç

Sadece iç

Etap Etap 1-0 kazanmak

Sadece iç

Sadece iç

Etap Etap 2-1 kazanmak

Sadece iç

Sadece iç

zaman aşımı

Sadece iç

Sadece iç

bellek sınırı aşıldı

Sadece iç

Sadece iç

stmt Ekle

INSERT deyimleri olan en iyi duruma getirmeleri sayısı.

Geçerli değildir

stmt silme

delete deyimleri olan en iyi duruma getirmeleri sayısı.

Geçerli değildir

Güncelleştirme stmt

update deyimleri olan en iyi duruma getirmeleri sayısı.

Geçerli değildir

alt sorgu içeren

En az bir alt sorgu içeren sorgu en iyi duruma getirmeleri sayısı.

Geçerli değildir

başarısız unnest

Sadece iç

Sadece iç

tablolar

En iyi duruma getirmeleri sayısı.

Sorgu en iyi duruma getirilmiş başvurulan tablolar ortalama sayısı.

İpuçları

Sayısı biraz ipucu belirtildi. Sayılan ipuçları şunlardır: birleştirme, Grup, Birliği ve force order sorgu ipuçları, kuvvet planlama ayarla seçeneği ve birleştirme ipuçları.

Geçerli değildir

Order İpucu

Kaç kez bir kuvvet order İpucu belirtildi.

Geçerli değildir

birleştirme ipucu

Kaç kez JOIN algoritması tarafından bir birleştirme ipucu zorlandı.

Geçerli değildir

Görünüm başvuru

Kaç kez bir görünüm sorguda başvuruldu.

Geçerli değildir

Uzak sorgu

Nerede four-part adı veya openrowset sonucu içeren bir tablo gibi en az bir uzak veri kaynağına sorgu başvurulan en iyi duruma getirmeleri sayısı.

Geçerli değildir

en fazla dop

En iyi duruma getirmeleri sayısı.

Ortalama etkili maxdop değeri için en iyi duruma getirilmiş bir plan. Varsayılan olarak, etkili maxdop tarafından belirlenir en büyük ölçüde parallelism sunucu yapılandırma seçeneği ve maxdop sorgu ipucu değerini belirli bir sorgu için geçersiz kılınabilir.

en fazla özyineleme düzeyi

MAXRECURSION düzeyinde 0'dan büyük sorgu ipucu ile belirtilmiş en iyi duruma getirmeleri sayısı.

En fazla özyineleme düzeyi sorgu ipucu ile burada belirtilen ortalama MAXRECURSION düzeyinde en iyi duruma getirme.

Dizin oluşturulmuş görünümler yüklenen

Sadece iç

Sadece iç

eşleşen dizin oluşturulmuş görünümler

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, updated

Bir veya daha fazla dizin oluşturulmuş görünümler tutan bir plan üretir iyileştirmeleri dml ekstresinin numarası.

Tutulan görünümleri ortalama sayısı.

dinamik imleç isteği

Dinamik imleç isteği belirtilmiş en iyi duruma getirmeleri sayısı.

Geçerli değildir

sarma imleç isteği

İleri sarma imleç isteği belirtilmiş en iyi duruma getirmeleri sayısı.

Geçerli değildir

Birleştirme stmt

Birleştirme deyimleri olan en iyi duruma getirmeleri sayısı.

Geçerli değildir

Örnekler

A.İyileştirici yürütme istatistiklerini görüntüleme

Bu örneği için geçerli iyileştirici yürütme istatistiklerini nelerdir SQL Server?

SELECT * FROM sys.dm_exec_query_optimizer_info;

SELECT * FROM sys.dm_exec_query_optimizer_info;

B.En iyi duruma getirmeleri sayısı görüntüleme

Kaç optimizasyonlar gerçekleştirilir?

SELECT occurrence AS Optimizations FROM sys.dm_exec_query_optimizer_info
WHERE counter = 'optimizations';

SELECT occurrence AS Optimizations FROM sys.dm_exec_query_optimizer_info
WHERE counter = 'optimizations';

C.Optimizasyon başına ortalama sürenin

Ortalama sürenin her optimizasyon nedir?

SELECT ISNULL(value,0.0) AS ElapsedTimePerOptimization
FROM sys.dm_exec_query_optimizer_info WHERE counter = 'elapsed time';

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

Sorgu en iyi duruma getirilmiş sorguları hangi kısmını içeriyordu?

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;

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;

Ayrıca bkz.

Başvuru

Dinamik yönetimi görünümler ve işlevler (Transact-sql)

Yürütme dinamik yönetimi görünümler ve işlevler (Transact-sql) ilgili