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, especifica-se a instrução Transact-SQL que se deseja otimizar e uma cláusula OPTION que contenha as dicas de consulta que se deseja usar ou um plano de consulta específico que se queira usar 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 AdventureWorks2008R2 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 p.LastName, p.FirstName, HumanResources.Employee.JobTitle FROM HumanResources.Employee JOIN Person.Person AS p ON HumanResources.Employee.BusinessEntityID = p.BusinessEntityID WHERE HumanResources.Employee.OrganizationLevel = 3 ORDER BY p.LastName, p.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 Malsucedido 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