Como criar um guia de plano (SQL Server Management Studio)
Este tópico descreve como criar um guia de plano usando o SQL Server Management Studio. Os guias de plano influenciam a otimização de consultas, anexando dicas de consulta ou um plano de consulta fixo. No guia de plano, é possível especificar a instrução do Transact-SQL que se quer otimizar e uma cláusula OPTION que contenha as dicas de consulta desejadas ou um plano de consulta específico necessário para otimizar a consulta. Quando a consulta é executada, o otimizador de consultas faz a correspondência da instrução do Transact-SQL com o guia de plano, anexando a cláusula OPTION à consulta em tempo de execução ou usando o plano de consulta especificado.
O exemplo a seguir cria um guia de plano para uma instrução do Transact-SQL e aplica a dica de consulta FORCESEEK à instrução. Essa dica de consulta força o otimizador a usar uma operação de busca de índice para acessar os dados na tabela especificada.
Para criar um exemplo de guia de plano
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados e, em seguida, expanda essa instância.
Expanda Bancos de Dados, expanda o banco de dados do AdventureWorks e, em seguida, expanda Programação.
Clique com o botão direito em Guias de Plano e, em seguida, clique em Novo Guia de Plano.
Em Nome, digite ForceseekPlan como nome do guia de plano.
Em Instrução, digite a instrução do Transact-SQL a seguir. Essa é a instrução a qual o guia de plano deve ser aplicado.
SELECT c.LastName, c.FirstName, HumanResources.Employee.Title FROM HumanResources.Employee JOIN Person.Contact AS c ON HumanResources.Employee.ContactID = c.ContactID WHERE HumanResources.Employee.ManagerID = 3 ORDER BY c.LastName, c.FirstName;
Em Tipo de escopo, selecione SQL como tipo de entidade na qual a instrução do Transact-SQL será exibida.
Em Dicas, digite a cláusula OPTION a seguir.
OPTION (TABLE HINT(HumanResources.Employee, FORCESEEK))
Para criar um guia de plano, clique em OK.
Para verificar se o guia de plano está sendo associado à consulta
Inicie um rastreamento do SQL Server Profiler, certificando-se de que os tipos de eventos Guia de Plano Bem-Sucedido e Guia de Plano Mal-Sucedido estão selecionados (localizado no nó Desempenho).
Execute a consulta fornecida na etapa 5 do procedimento anterior.
Pause o rastreamento do SQL Server Profiler.
Localize o evento Guia de Plano Bem-Sucedido para a consulta afetada.
Se o guia de plano não pôde ser correspondido à consulta, certifique-se de que a consulta tenha sido fornecida no mesmo formato, caractere por caractere, conforme especificado na instrução do guia de plano. Isto inclui guias, espaços, retornos de carro ou alimentações de linha.
Consulte também