Todos os produtos
Search
Central de documentação

AnalyticDB:Operadores

Última atualização: Jun 27, 2026

Os operadores do AnalyticDB for MySQL representam etapas individuais em um plano de execução. Cada operador executa uma tarefa específica de processamento de dados, como varrer uma tabela, unir conjuntos de dados, agregar resultados ou mover dados entre nós. Em um cluster distribuído, a maioria dos operadores é executada em paralelo nos nós de computação.

Use o recurso de diagnóstico de SQL para inspecionar as propriedades dos operadores e visualizar os resultados de diagnóstico no nível do operador. Para entender como os operadores se compõem em estágios e planos, consulte o gráfico de hierarquia do plano de execução na camada de operador.

Nota

Apenas operadores específicos possuem propriedades.

Operadores de acesso a dados

TableScan

Lê dados da source de dados subjacente. Quando as condições de filtro podem ser enviadas para a camada de armazenamento (predicate pushdown), o TableScan as aplica diretamente usando índices de dados, eliminando a necessidade de um operador Filter separado.

Propriedade

Descrição

TableName

A tabela sendo varrida.

DataBase

O banco de dados ao qual a tabela pertence.

SelectFields

Os campos lidos por este nó TableScan.

FilterPushDown

Indica se as condições de filtro foram enviadas para um nó de armazenamento. Exibido apenas quando o estágio atual inclui condições de filtro enviadas.

PushedDownFilter

As condições de filtro enviadas para um nó de armazenamento. Exibido apenas quando o estágio atual inclui condições de filtro enviadas.

Operadores de processamento de dados

Aggregation

Executa agregações regulares ou baseadas em agrupamento usando funções como SUM(), COUNT() e AVG(). O AnalyticDB for MySQL realiza operações de agregação em paralelo nos nós de computação. Para mais informações, consulte Otimização de consultas de agrupamento e agregação.

Propriedade Descrição
GroupByKeys Os campos usados para agrupamento.
AggregationFunctions As funções de agregação aplicadas, como SUM(), COUNT() e AVG().
Nota

Quando nenhum campo SELECT aparece na cláusula GROUP BY e nenhuma outra função de agregação é usada, o sistema invoca ARBITRARY() para retornar um valor aleatório do grupo. Consulte ARBITRARY.

Step O estágio de agregação. Valores válidos: PARTIAL (agregação parcial), FINAL (agregação final), SINGLE (agregação de etapa única que executa a agregação final diretamente).

DistinctLimit

Corresponde a DISTINCT LIMIT em instruções SQL.

Filter

Filtra dados na camada de computação quando o predicate pushdown não está disponível. Por padrão, o AnalyticDB for MySQL cria índices para todos os campos e envia as condições de filtro para a camada de armazenamento (visíveis como propriedades FilterPushDown em um operador TableScan). O operador Filter aparece quando o pushdown é bloqueado.

O pushdown é bloqueado nos seguintes casos:

  • A consulta usa a dica no_index_columns ou filter_not_pushdown_columns, ou o parâmetro adb_config filter_not_pushdown_columns está configurado para o cluster.

  • As condições de filtro usam funções como CAST.

  • As colunas filtradas não possuem índices — por exemplo, a tabela foi criada com a palavra-chave no_index ou os índices foram removidos posteriormente usando no_index.

Propriedade

Descrição

Filter

A condição de filtro aplicada por este operador.

Join

Corresponde a JOIN em instruções SQL. O algoritmo de junção depende dos dados e dos índices disponíveis.

Ao criar uma tabela distribuída no AnalyticDB for MySQL, especifique as chaves de distribuição usando a cláusula DISTRIBUTED BY. O tipo de redistribuição de dados depende do uso da chave de junção como chave de distribuição. Para mais informações sobre redistribuição de dados, consulte a seção RemoteExchange.

Propriedade

Descrição

Criterias

As condições de junção. Exemplo: tb_1.col_a=tb_2.col_a.

Type

O tipo de junção: INNER JOIN, LEFT JOIN, RIGHT JOIN ou FULL JOIN.

Method

O algoritmo de junção: Hash (armazena a tabela menor em cache na memória e corresponde às linhas usando uma tabela hash) ou Index (usa índices de chave de junção com base no recurso de indexação de coluna completa do AnalyticDB for MySQL).

JoinFilter

Condições de filtro adicionais aplicadas durante a junção.

Limit

Corresponde a LIMIT em instruções SQL.

MarkDistinct

Gerencia COUNT(DISTINCT) quando uma consulta contém duas ou mais operações COUNT(DISTINCT). Para um único COUNT(DISTINCT), o AnalyticDB for MySQL usa o operador Aggregation.

Project

Aplica expressões de projeção a campos específicos, como expressões CASE WHEN THEN ou a função CONCAT().

Propriedade

Descrição

ProjectExpression

A expressão de projeção aplicada aos campos de saída.

Sort

Corresponde a ORDER BY em instruções SQL. Ordena os campos presentes na cláusula ORDER BY.

Propriedade

Descrição

OrderBy

O campo usado para ordenar os dados.

Orderings

A direção da ordenação e o posicionamento de valores NULL. Valores válidos: ASC_NULLS_FIRST, ASC_NULLS_LAST, DESC_NULLS_FIRST, DESC_NULLS_LAST.

SortMerge

Durante a ordenação distribuída, mescla e reordena dados parcialmente classificados recebidos de vários nós upstream.

TopN

Corresponde a ORDER BY LIMIT m,n em instruções SQL. Combina ordenação e limitação em um único operador para maior eficiência.

Propriedade

Descrição

OrderBy

O campo usado para ordenar os dados.

Count

Corresponde às operações ORDER BY LIMIT em instruções SQL.

Orderings

A direção da ordenação e o posicionamento de valores NULL. Valores válidos: ASC_NULLS_FIRST, ASC_NULLS_LAST, DESC_NULLS_FIRST, DESC_NULLS_LAST.

Step

A etapa de execução. Valores válidos: PARTIAL (ordena os dados localmente em cada nó), SORTMERGE (mescla e ordena dados parcialmente classificados), SINGLE (executa a mesclagem e ordenação finais diretamente).

Offset

O deslocamento da linha inicial (o valor OFFSET).

Union

Corresponde a UNION em instruções SQL.

Window

Corresponde às funções de janela em instruções SQL. Para visualizar as funções compatíveis, consulte Funções de janela.

Operadores de movimento de dados

RemoteExchange

Transfere dados entre nós de computação, dos estágios upstream para os estágios downstream. O método depende da estrutura da consulta e do alinhamento das chaves de distribuição.

Método

Comportamento

Broadcast

Copia dados de cada nó upstream para todos os nós downstream. Cada nó downstream recebe uma cópia completa.

Repartition

Particiona os dados de cada nó upstream conforme uma regra especificada e envia cada partição para o nó downstream de destino.

Gather

Concentra dados de todos os nós upstream em um único nó downstream.

Para mais informações sobre como os estágios trocam dados, consulte o gráfico de hierarquia do plano de execução na camada de estágio.

RemoteSource

Marca o ponto onde os dados entram no estágio atual provenientes de nós remotos pela rede.

Propriedade

Descrição

OutputColumns

Os campos passados para o estágio atual por este operador.

StageOutput

Transfere os dados processados no estágio atual para os nós do estágio downstream pela rede.

Operadores de escrita

TableWriter

Grava os resultados da consulta em uma tabela. Aparece em consultas que executam operações de extração, transformação e carga (ETL), como INSERT INTO e REPLACE INTO.