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