O que o contador Perfmon "Planos abaixo do ideal / s" realmente mede?

13

No SQL Server, o que o contador Perfmon "Estatísticas do grupo de carga de trabalho: planos abaixo do ideal / s" mede?

É um dos contadores do Administrador de Recursos , por isso é medido no grupo de carga de trabalho (que você possui, configurando ou não o RG).

Não estou perguntando o que faz um bom plano ou um plano ruim, mas o que especificamente isso mede e onde você encontra os planos correspondentes exatos? Por exemplo, não consigo encontrar nada em Eventos Estendidos que pareça corresponder a uma consulta que aciona o contador "Planos abaixo do ideal / s".

Brent Ozar
fonte
1
agora estou olhando uma instância com 1322 para "planos sub-ótimos / s" e imaginando onde procurar. É uma boa pergunta, Brent.
Max Vernon
Obrigado! Acabei de adicioná-lo ao sp_BlitzFirst porque nunca o tinha visto antes de trabalhar na Hekaton lá esta semana.
Brent Ozar
Gostaria de saber se é sobre o tempo limite do nível de otimização do plano antes de obter um ótimo plano.
Max Vernon
Eu estava pensando que seria StatementOptmEarlyAbortReason="TimeOut"difícil dizer com certeza! Isso não se correlaciona bem com o contador perfmon.
Max Vernon

Respostas:

6

Existem dois itens que esse contador rastreia:

  1. Tempo esgotado
  2. Limite de memória excedido

Os valores podem ser encontrados no plano XML, como Max propôs nos comentários. Posso confirmar que tem sido assim desde pelo menos o SQL Server 2008.

Muitos elogios para @Max Vernon e @Joe Obbish.

A descrição do MSDN BOL Technet Docs não é super útil.

Sean diz remover Sara Chipps
fonte
2
Obrigado Sean. Estive sys.dm_os_performance_counterspesquisando e pesquisando no cache do plano por itens de tempo limite e vi o DMV não aumentando enquanto o sys.dm_exec_query_statsmostrava consultas de tempo limite usadas recentemente. Talvez eu faça um MCVE amanhã para explorar isso. Além disso, observe que isso está acontecendo em uma de nossas instâncias de produção EDW executando o 2012 Enterprise.
Max Vernon