Что на самом деле измеряет счетчик Perfmon «Субоптимальные планы / сек»?


13

В SQL Server что измеряет счетчик Perfmon «Статистика рабочей нагрузки группы: субоптимальные планы / сек»?

Это один из счетчиков регулятора ресурсов , поэтому он измеряется в группе рабочей нагрузки (у вас есть, настраиваете ли вы RG или нет).

Я не спрашиваю, что делает хороший план или плохой план, но что конкретно делает эта контрмера, и куда вы идете, чтобы найти точные соответствующие планы? Например, в расширенных событиях я не могу найти ничего, что могло бы соответствовать запросу, запускающему счетчик «Неоптимальные планы / сек».


1
сейчас я смотрю на экземпляр с 1322 для «неоптимальных планов / сек» и задаюсь вопросом, где искать. Это хороший вопрос, Брент.
Макс Вернон,

Благодарность! Я просто добавил его в sp_BlitzFirst, потому что я никогда не видел его прежде, чем выполнил какую-то работу над Hekaton на этой неделе.
Брент Озар

Интересно, это связано с тем, что время оптимизации уровня плана истекло до получения хорошего плана.
Макс Вернон,

Я думал, что это будет StatementOptmEarlyAbortReason="TimeOut"трудно сказать наверняка! Это не очень хорошо коррелирует со счетчиком perfmon.
Макс Вернон,

Ответы:


6

Этот счетчик отслеживает две вещи:

  1. Тайм-аут
  2. Превышен лимит памяти

Значения можно найти в плане XML, как Макс предложил в комментариях. Я могу подтвердить, что так было по крайней мере с SQL Server 2008.

Слава @Max Вернону и @Joe Obbish.

Описание MSDN BOL Technet Docs не очень полезно.


2
Спасибо, Шон. Я просматривал sys.dm_os_performance_countersи искал кэш плана для элементов Timeout, и увидел, что DMV не увеличивается, пока sys.dm_exec_query_statsотображаются недавно использованные запросы на тайм-аут. Возможно, я соберу завтра MCVE, чтобы изучить это. Также следует отметить, что это происходит на одном из наших производственных экземпляров EDW под управлением 2012 Enterprise.
Макс Вернон,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.