Exibindo planos de execução gráfica (SQL Server Management Studio)

O SQL Server Management Studio é uma ferramenta gráfica interativa que permite que um administrador ou desenvolvedor de banco de dados escreva consultas, execute várias consultas simultaneamente, exiba os resultados, analise o plano de consulta e receba assistência para melhorar o desempenho da consulta. As opções do Plano de Execução exibem graficamente os métodos de recuperação de dados escolhidos pelo otimizador de consultas do SQL Server. O plano de execução gráfica usa ícones para representar a execução de instruções e consultas específicas no SQL Server em vez da representação tabular produzida pelas opções de instrução do Transact-SQL SET SHOWPLAN_ALL ou SET SHOWPLAN_TEXT, ou o XML para a representação produzida por SET SHOWPLAN_XML. A exibição gráfica é muito útil para entender as características de desempenho de uma consulta. O SQL Server Management Studio exibe quais estatísticas estão faltando, forçando assim o otimizador de consultas a fazer estimativas sobre a seletividade de predicado, e então permite criar facilmente as estatísticas que faltavam.

ObservaçãoObservação

Os planos de execução não são exibidos para procedimentos armazenados criptografados ou para gatilhos.

Usando as opções do Plano de Execução

Abra ou digite um script Transact-SQL que contenha as consultas que você deseja analisar no editor de consultas do Management Studio. Depois que o script estiver carregado no editor de consultas do Management Studio, você pode optar por exibir um plano de execução estimado ou o plano de execução real clicando no botão Exibir Plano de Execução Estimado ou no botão Incluir Plano de Execução Real na barra de ferramentas do editor de consultas. Se você clicar em Exibir Plano de Execução Estimado, o script será analisado e um plano de execução estimado será gerado. Se você clicar em Incluir Plano de Execução Real, será necessário executar o script antes de o plano de execução ser gerado. Depois de o script ter sido analisado ou executado, clique na guia Plano de execução para ver uma representação gráfica da saída do plano de execução.

Para usar o recurso de plano de execução gráfica no Management Studio e para usar as opções de instrução SET do plano de execução do Transact-SQL, os usuários devem ter permissões suficientes para executar as instruções e consultas do Transact-SQL. Os usuários também devem ter permissão SHOWPLAN para todos os bancos de dados que contenham objetos referenciados. Para obter mais informações, consulte Segurança de plano de execução.

Lendo a saída de plano de execução gráfica

Para exibir o plano de execução, clique na guia Plano de execução no painel de resultados. A saída do plano de execução gráfica no SQL Server Management Studio é lida da direita para a esquerda e de cima para baixo. Cada consulta no lote analisado é exibida, inclusive o custo de cada consulta, como uma porcentagem do custo total do lote. Para obter mais informações sobre os ícones usados para exibir planos de execução no Management Studio, consulte Ícones de plano de execução gráfica (SQL Server Management Studio).

As descrições a seguir oferecem diretrizes para interpretar a saída de execução gráfica no Management Studio:

  • Cada nó na estrutura de árvore é representado como um ícone que especifica o operador lógico e físico usado para executar aquela parte da consulta ou instrução.

  • Cada nó está relacionado a um nó pai. Nós filho dos mesmos pais são desenhados na mesma coluna. Porém, nem todos os nós na mesma coluna têm necessariamente o mesmo pai. Traços com pontas de seta conectam cada nó a seu pai.

  • Os operadores são exibidos como símbolos relacionados a um pai específico.

  • A largura de seta é proporcional ao número de linhas. O número real de linhas é usado quando estiver disponível. Se não, então o número estimado de linhas será usado.

  • Quando a consulta contiver diversas instruções, vários planos de execução de consulta serão desenhados.

  • As partes das estruturas de árvore são determinadas pelo tipo de instrução executada.

  • Para consultas paralelas que envolvam várias CPUs, as Propriedades de cada nó no plano de execução gráfica exibe informações sobre os threads de sistema operacional usados. Para exibir as propriedades de um nó, clique com o botão direito do mouse no nó e depois clique em Propriedades. Para obter mais informações sobre consultas paralelas, consulte Processamento paralelo de consultas.

    Tipo de instrução

    Elemento de estrutura de árvore

    Transact-SQL e procedimentos armazenados

    Se a instrução for um procedimento armazenado ou instrução do Transact-SQL, ela se tornará a raiz da estrutura de árvore do plano de execução gráfica. O procedimento armazenado pode ter vários filhos que representam instruções chamadas pelo procedimento armazenado. Cada filho é um nó ou ramificação da árvore.

    Linguagem de manipulação de dados (DML)

    Se a instrução analisada pelo otimizador de consultas do SQL Server for uma instrução DML, como SELECT, INSERT, DELETE ou UPDATE, a instrução DML será a raiz da árvore. As instruções DML podem ter até dois filhos. O primeiro filho é o plano de execução da instrução DML. O segundo filho representa um gatilho, se for usado em ou por uma instrução.

    Condicional

    O plano de execução gráfica divide instruções condicionais como instruções IF... ELSE (se a condição existir, então faça o seguinte, ou faça esta instrução) em três filhos. A instrução IF... ELSE é a raiz da árvore. A condição IF torna-se um nó de subárvore. As condições THEN e ELSE são representadas como blocos de instrução. As instruções WHILE e DO-UNTIL são representadas usando um plano semelhante. IF e WHILE têm seus próprios ícones.

    Operadores relacionais

    Operações executadas pelo mecanismo de consulta, como verificações de tabela, junções e agregações, são representadas como nós na árvore.

    DECLARE CURSOR

    A instrução DECLARE CURSOR é a raiz da árvore do plano de execução gráfica, com sua instrução relacionada como um filho ou nó.

Cores individuais foram associadas a cada um dos três tipos de ícone: os ícones de iterator (operadores lógicos e físicos) são azuis, os ícones de cursores são amarelos e os elementos de linguagem são verdes.

Dicas de ferramentas dos nós do plano de execução gráfica

Cada nó exibe informações de dica de ferramenta quando o cursor é apontado para ele como descrito na tabela a seguir. Nem todos os nós em um plano de execução gráfica contêm todos os itens de dicas de ferramentas descritos aqui.

Item de dica de ferramenta

Descrição

Operação Física

O operador físico usado, como junções hash ou loops aninhados. Operadores físicos exibidos em vermelho indicam que o otimizador de consulta emitiu um aviso, como falta de estatísticas de coluna ou falta de predicados de junção. Isso pode fazer com que o otimizador de consulta escolha um plano de consulta menos eficiente do que seria esperado. Para obter mais informações sobre estatísticas de coluna, consulte Usando estatísticas para melhorar o desempenho de consultas.

Quando o plano de execução gráfica sugere a criação ou atualização de estatísticas, ou a criação de um índice, as estatísticas de coluna e os índices que faltam podem ser criados ou atualizados imediatamente usando os menus de atalho no Pesquisador de Objetos do SQL Server Management Studio. Para obter mais informações, consulte Tópicos de instruções de índices.

Operação Lógica

O operador lógico que corresponde ao operador físico, como o operador Inner Join . O operador lógico é listado depois do operador físico no alto da dica de ferramenta.

Tamanho Estimado da Linha

O tamanho estimado da linha produzida pelo operador (bytes).

Custo Estimado de E/S

O custo estimado de toda a atividade de E/S para a operação. Esse valor deve ser o mais baixo possível.

Custo Estimado de CPU

O custo estimado de toda a atividade da CPU para a operação.

Custo Estimado do Operador

O custo do otimizador de consulta para executar essa operação. O custo dessa operação como uma porcentagem do custo total da consulta é exibido entre parênteses. Como o mecanismo de consulta seleciona a operação mais eficiente para executar a consulta ou a instrução, esse valor deve ser o mais baixo possível.

Custo Estimado da Subárvore

O custo total do otimizador de consulta para executar essa operação e todas as operações anteriores a ela na mesma subárvore.

Número Estimado de Linhas1

O número de linhas produzidas pelo operador.

1 Esse item da dica de ferramenta é exibido como Número de Linhas em um plano de execução real.

ObservaçãoObservação

As informações que estavam disponíveis nos campos de argumento dos planos de execução gráfica no SQL Server 2000 aparecem agora separadamente nas dicas de ferramentas dos planos de execução gráfica.

Propriedades dos nós do plano de execução gráfica

Você pode exibir informações detalhadas sobre nós no plano de execução gráfica clicando com o botão direito do mouse no nó e clicando em Propriedades.