Was misst der Perfmon-Indikator "Workload-Gruppenstatistik: Suboptimale Pläne / Sek." In SQL Server?
Es ist einer der Resource Governor-Leistungsindikatoren , daher wird er an der Arbeitsauslastungsgruppe gemessen (die Sie haben, unabhängig davon, ob Sie RG konfigurieren oder nicht).
Ich frage nicht, was einen guten Plan oder einen schlechten Plan ausmacht, aber was genau bewirkt diese Gegenmaßnahme, und wohin gehen Sie, um die genauen entsprechenden Pläne zu finden? Zum Beispiel kann ich in Extended Events nichts finden, was mit einer Abfrage übereinstimmt, die den Zähler "Suboptimale Pläne / Sek." Auslöst.
sql-server
Brent Ozar
quelle
quelle
StatementOptmEarlyAbortReason="TimeOut"
aber schwer sicher zu sagen! Das korreliert allerdings nicht gut mit dem Perfmon Counter.Antworten:
Es gibt zwei Punkte, die dieser Zähler verfolgt:
Die Werte finden Sie im XML-Plan, wie Max in den Kommentaren vorgeschlagen hat. Ich kann bestätigen, dass dies seit mindestens SQL Server 2008 der Fall ist.
Ein großes Lob an Max Vernon und Joe Obbish.
Die
MSDN BOL TechnetDocs Beschreibung ist nicht super hilfreich.quelle
sys.dm_os_performance_counters
den Plan-Cache nach Timeout-Elementen durchsucht und festgestellt, dass die DMV nicht inkrementiert wird, während diesys.dm_exec_query_stats
kürzlich verwendeten Timeout -Abfragen angezeigt werden. Vielleicht werde ich morgen ein MCVE zusammenstellen, um das zu untersuchen. Dies geschieht auch auf einer unserer EDW-Produktionsinstanzen, auf denen 2012 Enterprise ausgeführt wird.