SVCS_ALERT_EVENT_LOG - Amazon Redshift

SVCS_ALERT_EVENT_LOG

Registra um alerta quando o otimizador de consultas identifica as condições que podem indicar problemas de performance. Essa visualização é derivada da tabela do sistema STL_ALERT_EVENT_LOG, mas não mostra o nível de fatia para consultas executadas em um cluster de escalabilidade da simultaneidade. Use a tabela SVCS_ALERT_EVENT_LOG para identificar meios de melhorar a performance da consulta.

Uma consulta consiste em vários segmentos e cada segmento consiste em uma ou mais etapas. Para ter mais informações, consulte Processamento de consulta.

nota

Visualizações do sistema com o prefixo SVCS fornecem detalhes sobre consultas nos clusters principal e de escalabilidade da simultaneidade. As visualizações são semelhantes às tabelas com o prefixo STL, exceto que as tabelas STL fornecem informações somente para consultas executadas no cluster principal.

SVCS_ALERT_EVENT_LOG é visível para todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para obter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.

Colunas da tabela

Nome da coluna Tipo de dados Descrição
userid inteiro O ID do usuário que gerou a entrada.
consulta inteiro ID da consulta. A coluna de consulta pode ser usada para unir outras tabelas e exibições do sistema.
segment inteiro O número que identifica o segmento da consulta.
etapa inteiro Etapa da consulta que foi executada.
pid inteiro O ID do processo associado à instrução e à fatia. A mesma consulta poderá ter vários PIDs, se for executada em várias fatias.
xid bigint O ID da transação associada à instrução.
evento character(1024) A descrição do evento de alerta.
solução character(1024) A solução recomendada.
event_time timestamp O horário (em UTC) de início da consulta. O tempo total inclui consultas e execução, com seis dígitos de precisão para segundos fracionários. Por exemplo: 2009-06-12 11:29:19.131358.

Observações de uso

Você pode usar o SVCS_ALERT_EVENT_LOG para identificar problemas potenciais nas consultas, depois siga as práticas recomendadas em Ajustar o desempenho da consulta para otimizar o design do banco de dados e reescrever as consultas. A tabela SVCS_ALERT_EVENT_LOG registra os seguintes alertas:

  • Ausência de estatísticas

    Não há estatísticas. Execute o ANALYZE depois de carregar dados ou de atualizações significativas e use o STATUPDATE com as operações COPY. Para ter mais informações, consulte Práticas recomendadas do Amazon Redshift para criar consultas.

  • Loop aninhado

    Um loop aninhado é geralmente um produto cartesiano. Avalie sua consulta para assegurar que todas as tabelas que participam das operações estão sendo unidas de forma eficiente.

  • Filtro muito seletivo

    A taxa de linhas retornadas em relação às linhas pesquisadas na varredura é menor do que 0.05. As linhas pesquisadas na varredura são representadas pelo valor de rows_pre_user_filter e as linhas retornadas são representadas pelo valor de STL_SCAN na tabela do sistema. Indica que a consulta está fazendo a varredura em um número excepcionalmente grande de linhas para determinar o conjunto de resultados. Isso pode ser causado pela falta ou por erros de chaves de classificação. Para ter mais informações, consulte Chaves de classificação.

  • Excesso de linhas fantasma

    Uma varredura ignorou um número relativamente grande de linhas que estão marcadas como excluídas, mas não como limpadas, ou de linhas que foram inseridas, mas não confirmadas. Para ter mais informações, consulte Vacuum de tabelas.

  • Grande distribuição

    Mais de 1.000.000 de linhas foram redistribuídas para uma junção hash ou agregação. Para ter mais informações, consulte Distribuição de dados para otimização de consultas.

  • Grande transmissão

    Mais de 1.000.000 de linhas foram transmitidas para uma junção hash. Para ter mais informações, consulte Distribuição de dados para otimização de consultas.

  • Execução em série

    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ó. Para ter mais informações, consulte Distribuição de dados para otimização de consultas.

Consultas de exemplo

As consultas a seguir mostram eventos de alerta para quatro consultas.

SELECT query, substring(event,0,25) as event, substring(solution,0,25) as solution, trim(event_time) as event_time from svcs_alert_event_log order by query; query | event | solution | event_time -------+-------------------------------+------------------------------+--------------------- 6567 | Missing query planner statist | Run the ANALYZE command | 2014-01-03 18:20:58 7450 | Scanned a large number of del | Run the VACUUM command to rec| 2014-01-03 21:19:31 8406 | Nested Loop Join in the query | Review the join predicates to| 2014-01-04 00:34:22 29512 | Very selective query filter:r | Review the choice of sort key| 2014-01-06 22:00:00 (4 rows)