Analisar o plano de consulta - Amazon Redshift

Analisar o plano de consulta

Antes de analisar o plano de consulta, você deve ser familiarizar com sua leitura. Se você não estiver familiarizado com a leitura de um plano de consulta, sugerimos a leitura de Plano de consulta antes de continuar.

Execute o comando EXPLAIN para obter um plano de consulta. Para analisar os dados fornecidos pelo plano de consulta, siga estas etapas:

  1. Identifique as etapas com o custo mais alto. Concentre-se em otimizar estas etapas ao avançar pelas etapas restantes.

  2. Veja os tipos de junção:

    • Loop aninhado: Tais junções geralmente ocorrem quando uma condição de junção é omitida. Para soluções recomendadas, consulte Loop aninhado.

    • Hash e junção hash: Junções hash são usadas durante a junção de tabelas em que as colunas de junção não são chaves de distribuição e também não são chaves de classificação. Para soluções recomendadas, consulte Junção de hash.

    • Junção de mesclagem: Nenhuma alteração é necessária.

  3. Observe qual tabela é usada para a junção interna e qual é usada para a junção externa. O mecanismo de consulta geralmente escolhe a menor tabela para a junção interna e a maior tabela para a junção externa. Se essa escolha não ocorre, suas estatísticas provavelmente estão desatualizadas. Para soluções recomendadas, consulte Estatísticas de tabela ausentes ou desatualizadas.

  4. Verifique se há alguma operação de classificação de alto custo. Se houver, consulte Linhas não classificadas ou mal classificadas para as soluções recomendadas.

  5. Procure os seguintes operadores de transmissão onde há operações de alto custo:

    • DS_BCAST_INNER: indica que a tabela é transmitida a todos os nós de computação. Isso é adequado para uma tabela pequena, mas não é ideal para uma tabela maior.

    • DS_DIST_ALL_INNER: Indica que toda o workload está em uma única fatia.

    • DS_DIST_BOTH: Indica uma redistribuição pesada.

    Para as soluções recomendadas para essas situações, consulte Distribuição de dados pouco satisfatória.