Revisar alertas da consulta - Amazon Redshift

Revisar alertas da consulta

Para usar a tabela de sistema STL_ALERT_EVENT_LOG para identificar e corrigir problemas potenciais de performance com sua consulta, siga estas etapas:

  1. Execute o seguinte para determinar o ID de sua consulta:

    select query, elapsed, substring from svl_qlog order by query desc limit 5;

    Examine o texto truncado da consulta no campo substring para determinar qual valor de query deve ser selecionado. Se você executou a consulta mais de uma vez, use o valor de query da linha com o menor valor elapsed. Esta é a linha para a versão compilada. Se você estiver executando várias consultas, poderá aumentar o valor usado pela cláusula LIMIT usada para certificar-se de que sua consulta seja incluída.

  2. Selecione linhas do STL_ALERT_EVENT_LOG para sua consulta:

    Select * from stl_alert_event_log where query = MyQueryID;
  3. Avalie os resultados para sua consulta. Use a tabela a seguir para localizar possíveis soluções para quaisquer problemas que você tenha identificado.

    nota

    Nem todas as consultas terão linhas em STL_ALERT_EVENT_LOG, somente aquelas com problemas identificados.

    Problema Valor do evento Valor da solução Solução recomendada
    As estatísticas para as tabelas na consulta estão ausentes ou desatualizadas. Ausência de estatísticas do planejador de consultas Execute o comando ANALYZE Consulte Estatísticas de tabela ausentes ou desatualizadas.
    Há uma junção de loop aninhado (a junção menos ideal) no plano de consulta. Junção de loop aninhado no plano de consulta Revise os predicados de junção para evitar produtos cartesianos Consulte Loop aninhado.
    A varredura ignorou um número relativamente grande de linhas que estão marcadas como excluídas, mas não como limpas, ou linhas que foram inseridas, mas não confirmadas. Efetuou a varredura de um grande número de linhas excluídas Execute o comando de VACUUM para recuperar o espaço excluído Consulte Linhas fantasmas ou linhas não confirmadas.
    Mais de 1.000.000 de linhas foram redistribuídas para uma junção hash ou agregação. Um grande número de linhas foi distribuído pelas linhas network:RowCount para processar a agregação Revise a escolha de chave de distribuição para colocar a junção ou agregação Consulte Distribuição de dados pouco satisfatória.
    Mais de 1.000.000 de linhas foram transmitidas para uma junção hash. Transmitido um grande número de linhas na rede Revise a escolha da chave de distribuição para colocar a junção e considerar o uso de tabelas distribuídas Consulte Distribuição de dados pouco satisfatória.
    Um estilo de redistribuição DS_DIST_ALL_INNER foi indicado no plano de consulta, o que força uma execução em série, pois toda a tabela interna foi redistribuída para um único nó. DS_DIST_ALL_INNER para junção hash no plano de consulta Revise a escolha de estratégia de distribuição para distribuir a tabela interna em vez da externa Consulte Distribuição de dados pouco satisfatória.