Co w programie SQL Server mierzy licznik Perfmon „Statystyki grupy obciążeń: plany nieoptymalne / s”?
Jest to jeden z liczników Resource Governor , więc jest mierzony w grupie obciążeń (którą masz niezależnie od tego, czy skonfigurujesz RG, czy nie).
Nie pytam, co stanowi dobry lub zły plan, ale co konkretnie to przeciwdziała i gdzie idziesz, aby znaleźć dokładnie odpowiednie plany? Na przykład w zdarzeniach rozszerzonych nie mogę znaleźć niczego, co wydaje się pasować do zapytania uruchamiającego licznik „plany nieoptymalne / s”.
sql-server
Brent Ozar
źródło
źródło
StatementOptmEarlyAbortReason="TimeOut"
trudno będzie powiedzieć na pewno! Nie koreluje to jednak dobrze z licznikiem perfmon.Odpowiedzi:
Licznik śledzi dwa elementy:
Wartości można znaleźć w planie XML, jak Max zaproponował w komentarzach. Mogę potwierdzić, że tak było od co najmniej SQL Server 2008.
Uznanie dla @Max Vernon i @Joe Obbish.
MSDN BOL TechnetDocs opis nie jest super pomocny.źródło
sys.dm_os_performance_counters
i przeszukiwałem pamięć podręczną planu dla elementów Timeout i zauważyłem, że DMV nie zwiększa się, gdysys.dm_exec_query_stats
wyświetla ostatnio używane zapytania o limit czasu . Może przygotuję jutro MCVE, żeby to zbadać. Należy również zauważyć, że dzieje się to w jednym z naszych instancji produkcyjnych EDW z uruchomionym 2012 Enterprise.