Todos os produtos
Search
Central de documentação

AnalyticDB:Resultados de diagnóstico no nível de consulta

Última atualização: Jun 27, 2026

O diagnóstico de SQL do AnalyticDB for MySQL coleta estatísticas de execução nos níveis de consulta, stage e operador para identificar problemas de desempenho e apresentar sugestões de otimização. Este tópico descreve os quatro tipos de diagnóstico no nível de consulta e como resolver cada um deles.

Nota

Para visualizar os resultados de diagnóstico no nível de consulta para uma consulta específica, consulte

Visualizar resultados de diagnóstico

.

Tipos de diagnóstico

Tipo de diagnóstico

Impacto

Grande volume de dados retornado ao cliente

Torna as consultas lentas e consome largura de banda de rede do frontend

Alto consumo de recursos de memória por uma consulta

Pode causar falhas em outras consultas e reduzir a estabilidade geral do cluster

Grande número de stages gerados para uma consulta

Consome recursos de rede e aumenta a complexidade do sistema

Grande volume de dados lido por uma consulta

Consome recursos de I/O de disco e afeta outras consultas e gravações de dados

Grande volume de dados retornado ao cliente

Problema: Quando uma consulta retorna um grande volume de dados ao cliente, ela ocupa recursos de rede do frontend e causa lentidão na execução. Verifique o campo Returned Data na seção Query Properties da página de detalhes da consulta para confirmar o volume. Para mais informações, consulte Visualizar propriedades da consulta.

Solução: Reduza a quantidade de dados retornados ao cliente:

  • Adicione uma cláusula LIMIT ou torne as condições de filtro mais restritivas na consulta.

  • Exporte grandes conjuntos de resultados para o Object Storage Service (OSS) usando tabelas externas, em vez de retorná-los ao cliente. A exportação é compatível apenas com arquivos CSV e Parquet. Para mais informações, consulte Usar tabelas externas para exportar dados do AnalyticDB for MySQL para o OSS.

Alto consumo de recursos de memória por uma consulta

Problema: Uma consulta está consumindo muitos recursos de memória. Isso pode causar falhas de execução em outras consultas, reduzir a velocidade de execução e afetar a estabilidade geral do seu cluster AnalyticDB for MySQL. Verifique o campo Peak Memory na seção Query Properties da página de detalhes da consulta para confirmar o uso de memória. Para mais informações, consulte Visualizar propriedades da consulta.

Solução: Utilize os planos de execução no diagnóstico de SQL para localizar o stage ou operador que consome memória excessiva e aplique a otimização adequada:

Grande número de stages gerados para uma consulta

Problema: Uma consulta está gerando um grande número de stages, o que consome recursos de rede, aumenta a complexidade de processamento do sistema e apresenta riscos à estabilidade geral do cluster. Quanto maior o número de joins nas instruções SQL, maior será o número de stages gerados. Para entender o que afeta a contagem de stages, consulte Fatores que afetam o desempenho da consulta.

Solução: Reduza o número de stages gerados:

  • Faça o join das tabelas antes de gravar dados no AnalyticDB for MySQL para reduzir o número total de tabelas no cluster.

  • Diminua a quantidade de joins nas instruções SQL. Menos joins produzem menos stages.

  • Utilize visualizações materializadas. O AnalyticDB for MySQL reutiliza stages ao executar consultas em visualizações materializadas, o que reduz a contagem total de stages. Para mais informações, consulte Visão geral.

Grande volume de dados lido por uma consulta

Problema: Uma consulta está fazendo varredura em um grande volume de dados, consumindo recursos de I/O de disco e afetando o desempenho de outras consultas e gravações de dados. Verifique o campo Scanned Data na seção Query Properties da página de detalhes da consulta para confirmar o volume da varredura. Para mais informações, consulte Visualizar propriedades da consulta.

Solução: Primeiro, identifique o stage e o operador TableScan responsáveis pela grande varredura. Na seção Statistics do plano de execução (nível de stage), verifique Scanned Rows e Scan Size. Na seção Statistics no nível de operador, verifique Input Rows e Amount of Input Data do operador TableScan. Como referência, consulte Estatísticas de stage e Estatísticas de operador.

Após identificar o operador TableScan com a grande varredura, use uma das seguintes abordagens para reduzir o volume da varredura:

  • Adicione uma condição de filtro AND à consulta.

  • Ajuste as condições de filtro existentes para reduzir a quantidade de dados filtrados no stage de varredura.

  • Verifique se alguma condição de filtro não foi propagada (pushed down) para a varredura. Nesse caso, siga as sugestões de otimização em Condições de filtro não propagadas.