Compartilhar via


Anexar indicadores de consulta a um guia de plano

Qualquer combinação de dicas de consulta válidas pode ser usada em um guia de plano. Quando um guia de plano corresponde a uma consulta, a cláusula OPTION especificada na cláusula de dicas de um guia de plano é adicionada à consulta antes que ela seja compilada e otimizada. Se uma consulta correspondente a um guia de plano já tiver uma cláusula OPTION, as dicas de consulta especificadas no guia de plano substituirão as da consulta. No entanto, para que um guia de plano corresponda a uma consulta que já tenha uma cláusula OPTION, você deve incluir a cláusula OPTION da consulta quando especificar o texto da consulta a ser correspondente na instrução sp_create_plan_guide. Se você quiser que as dicas especificadas no guia de plano sejam adicionadas às dicas que já existem na consulta, em vez de substituí-las, especifique as dicas originais e as dicas adicionais na cláusula OPTION do guia de plano.

Cuidado

Guias de plano que usam indevidamente dicas de consulta podem causar problemas de compilação, execução ou desempenho. Os guias de plano devem ser usados apenas por desenvolvedores experientes e administradores de banco de dados.

Dicas de consulta comuns usadas em guias de plano

As consultas que podem se beneficiar de guias de plano geralmente são baseadas em parâmetros e podem ter um desempenho ruim porque usam planos de consulta armazenados em cache cujos valores de parâmetro não representam um cenário pior ou mais representativo. As dicas de consulta OPTIMIZE FOR e RECOMPILE podem ser usadas para resolver esse problema. O OPTIMIZE FOR instrui o SQL Server a usar um valor específico para um parâmetro quando a consulta for otimizada. RECOMPILE instrui o servidor a descartar um plano de consulta após a execução, forçando o otimizador de consulta a recompilar um novo plano de consulta na próxima vez em que a mesma consulta for executada. Para obter um exemplo, consulte Guias de Planos.

Além disso, você pode especificar as dicas de tabela INDEX, FORCESCAN e FORCESEEK como dicas de consulta. Quando especificadas como dicas de consulta, essas dicas se comportam como uma tabela embutida ou uma dica de exibição. A dica INDEX força o otimizador de consulta a usar apenas os índices especificados para acessar os dados na tabela ou exibição referenciada. A dica FORCESEEK força o otimizador a usar apenas uma operação de busca de índice para acessar os dados na tabela ou exibição referenciada. Essas dicas fornecem funcionalidade de guia de plano adicional e permitem que você tenha mais influência sobre a otimização de consultas que usam o guia de plano.