Todos os produtos
Search
Central de documentação

AnalyticDB:Processo de consulta e plano de execução

Última atualização: Jun 27, 2026

Quando uma consulta apresenta lentidão ou retorna resultados inesperados, compreender como o AnalyticDB for MySQL processa e executa SQL é fundamental para interpretar planos de execução, analisar a saída de diagnósticos SQL e identificar onde a consulta consome mais tempo. O AnalyticDB for MySQL divide cada consulta SQL em uma hierarquia de stages, tasks e operators antes de executá-la no cluster.

Como o AnalyticDB for MySQL processa uma consulta

Ao enviar uma consulta SQL, o AnalyticDB for MySQL a processa em cinco etapas:

  1. O cliente envia a instrução SQL para um nó controller — o nó de acesso frontend do AnalyticDB for MySQL. Para obter detalhes sobre nós de acesso, consulte Arquitetura técnica.

  2. O parser do nó controller analisa a instrução, converte-a em uma árvore de sintaxe e gera um plano de execução lógico preliminar.

  3. O optimizer do nó controller avalia o plano preliminar e o reescreve conforme necessário. Esse componente produz um plano de execução lógico final que especifica o tipo de junção, a ordem de junção, o método de agregação e o método de redistribuição de dados. Com base nos requisitos de transmissão de rede, o optimizer também determina se é necessário dividir o plano.

  4. Um nó executor recebe o plano de execução lógico final e o converte em um plano de execução físico, composto por stages e operators que processam os dados segundo regras específicas.

  5. O nó executor retorna os resultados ao cliente ou os grava em tabelas do AnalyticDB for MySQL e em sistemas de armazenamento externo, como o Object Storage Service (OSS).

Conceitos do plano de execução

Stage

Um stage é uma parte física do plano de execução. Durante a execução, a consulta se divide em múltiplos stages. Cada stage:

  • Obtém dados do sistema de armazenamento subjacente ou os recebe via rede.

  • É formado por tasks do mesmo tipo distribuídas entre diferentes nós executores.

  • Executa suas tasks em paralelo para maximizar o throughput.

Nota

O recurso de diagnósticos SQL permite visualizar resultados de diagnóstico no nível de stage. Para mais detalhes, consulte

Resultados de diagnóstico no nível de stage

.

Task

Uma task representa a unidade de execução de um stage em um único nó executor. Cada stage distribui seu trabalho entre várias tasks do mesmo tipo, e todas elas são executadas em paralelo dentro do cluster.

Operator

Um operator é a unidade básica de processamento de dados no AnalyticDB for MySQL. O sistema define se os operators serão executados em modo paralelo ou serial com base na semântica de cada operator e nas dependências entre eles.

Nota

O recurso de diagnósticos SQL permite visualizar resultados de diagnóstico no nível de operator. Para mais detalhes, consulte

Resultados de diagnóstico no nível de operator

.

Exemplo: consulta de agregação por grupo

A figura a seguir ilustra a execução de uma consulta de agregação por grupo. O nó controller divide o plano de execução lógico em shards e os distribui para os nós executores.

Execute a query plan

Stage

Tasks

Descrição

Stage 2

4

Varre, filtra e agrega parcialmente os dados em paralelo.

Stage 1

2

Agrega os resultados do Stage 2 em paralelo.

Stage 0

1

Coleta e retorna os resultados finais de agregação do Stage 1.

Próximos passos