Fluxo de trabalho da análise de consulta - Amazon Redshift

Fluxo de trabalho da análise de consulta

Se uma consulta estiver levando mais tempo do que o esperado, use as seguintes etapas para identificar e corrigir problemas que possam estar afetando negativamente a performance da consulta. Se você não tiver certeza de quais consultas em seu sistema podem se beneficiar do ajuste de performance, comece executando uma consulta diagnóstica em Identificar consultas que são os principais candidatos para ajuste.

  1. Garanta que suas tabelas sejam projetadas de acordo com as práticas recomendadas. Para ter mais informações, consulte Práticas recomendadas do Amazon Redshift para projetar tabelas.

  2. Veja se você pode excluir ou arquivar alguns dados não necessários em suas tabelas. Por exemplo, suponha que suas consultas sempre visem os últimos 6 meses de dados, mas você tenha o valor dos últimos 18 meses em suas tabelas. Nesse caso, você pode excluir ou arquivar os dados mais antigos para reduzir o número de registros que precisam ser verificados e distribuídos.

  3. Execute o comando VACUUM nas tabelas da consulta para recuperar espaço e reclassificar as linhas. A execução de VACUUM ajuda se a região não classificada for grande e a consulta usar a chave de classificação em uma junção ou predicado.

  4. Execute o comando ANALYZE nas tabelas da consulta para garantir que as estatísticas sejam atualizadas. A execução de ANALYZE ajuda se qualquer uma das tabelas da consulta tiverem recentemente mudado muito de tamanho. Se a execução completa do comando ANALYZE levar muito tempo, execute ANALYZE em uma única coluna para reduzir o tempo de processamento. Essa abordagem ainda atualizará as estatísticas de tamanho da tabela; o tamanho da tabela é um fator significativo no planejamento da consulta.

  5. Certifique-se de que sua consulta tenha sido executada uma vez para cada tipo de cliente (com base em qual tipo de protocolo de conexão o cliente usa) para que a consulta seja compilada e armazenada em cache. Essa abordagem acelera execuções subsequentes da consulta. Para ter mais informações, consulte Fatores que afetam a performance da consulta.

  6. Verifique a tabela STL_ALERT_EVENT_LOG para identificar e corrigir possíveis problemas com sua consulta. Para ter mais informações, consulte Revisar alertas da consulta.

  7. Execute o comando EXPLAIN para obter o plano de consulta e usá-lo para otimizar a consulta. Para ter mais informações, consulte Analisar o plano de consulta.

  8. Use as exibições SVL_QUERY_SUMMARY e SVL_QUERY_REPORT para obter informações de resumo e para usá-las para otimizar a consulta. Para ter mais informações, consulte Analisar o resumo da consulta.

Às vezes, uma consulta que deveria ser executada rapidamente é forçada a esperar a conclusão de outra pesquisa de execução mais longa. Nesse caso, você pode não ter nada a melhorar na própria consulta, mas pode melhorar a performance geral do sistema ao criar e usar filas de consulta para diferentes tipos de consultas. Para obter uma ideia de tempo de espera na fila para suas consultas, consulte Como revisar os tempos de espera na fila para consultas. Para obter mais informações sobre a configuração de filas de consultas, consulte Como implementar o gerenciamento do workload.