Dans SQL Server, que mesure le compteur Perfmon "Statistiques des groupes de charges de travail: plans sous-optimaux / s"?
Il s'agit de l'un des compteurs du gouverneur de ressources , il est donc mesuré au niveau du groupe de charge de travail (que vous avez, que vous configuriez RG ou non).
Je ne demande pas ce qui fait un bon plan ou un mauvais plan, mais qu'est-ce que cette contre-mesure en particulier et où allez-vous pour trouver les plans correspondants? Par exemple, je ne trouve rien dans les événements étendus qui semble correspondre à une requête déclenchant le compteur "Plans sous-optimaux / s".
sql-server
Brent Ozar
la source
la source
StatementOptmEarlyAbortReason="TimeOut"
difficile à dire avec certitude! Cependant, cela ne correspond pas bien au compteur de perfons.Réponses:
Ce compteur suit deux éléments:
Les valeurs peuvent être trouvées dans le plan XML comme Max l'a proposé dans les commentaires. Je peux confirmer qu'il en est ainsi depuis au moins SQL Server 2008.
Félicitations à @Max Vernon et @Joe Obbish.
La description de
MSDN BOL TechnetDocs n'est pas très utile.la source
sys.dm_os_performance_counters
et recherché dans le cache du plan des éléments de délai d'expiration, et j'ai vu le DMV ne pas incrémenter pendant que lesys.dm_exec_query_stats
montre les requêtes expirées récemment utilisées. Je vais peut-être préparer un MCVE demain pour explorer cela. Notez également que cela se produit sur l'une de nos instances de production EDW exécutant 2012 Enterprise.