Todos os produtos
Search
Central de documentação

PolarDB:Partitioned tables in a AUTO-mode PolarDB-X database

Última atualização: Jun 28, 2026

Este tópico descreve o conceito de tabela particionada do PolarDB-X, seus benefícios e as diferenças em relação às tabelas particionadas do MySQL.

Em um banco de dados PolarDB-X no modo AUTO, uma tabela lógica com grande volume de dados é dividida em várias tabelas físicas menores conforme regras de particionamento específicas. A tabela lógica recebe o nome de tabela particionada, e cada tabela física menor corresponde a uma partição da tabela maior. O PolarDB-X oferece diversas regras de particionamento, como KEY, HASH, RANGE, LIST e COHASH. É possível combinar essas regras flexivelmente para criar regras de particionamento híbrido de nível 2. Essa abordagem permite gerenciar dados com eficiência e mantém alta compatibilidade com a sintaxe de particionamento do MySQL, proporcionando uma experiência operacional prática e familiar aos usuários.

O PolarDB-X também disponibiliza recursos que facilitam a operação e manutenção (O&M) e o gerenciamento, incluindo divisão de partições, mesclagem, migração de dados e agendamento. Os usuários gerenciam seus dados com flexibilidade e eficiência. Por exemplo, podem isolar os dados de uma partição específica em um nó de armazenamento independente ou subdividir uma partição grande em subpartições menores.

Benefícios

  • Oferece suporte às regras de particionamento RANGE, RANGE COLUMN, KEY, LIST, LIST COLUMN e COHASH, além de qualquer combinação dessas regras para partições de nível 2 com ou sem modelo, tornando a governança de dados mais flexível.

  • Compatível com Global Secondary Indexes (GSIs), que facilitam a indexação para consultas em diferentes dimensões.

  • Suporta poda de partições (partition pruning), permitindo que os otimizadores filtrem partições fora das condições de consulta especificadas. Consequentemente, menos partições são verificadas durante as consultas, o que reduz a carga de trabalho do mecanismo.

  • Implementa PartitionWise Joins. Esse recurso alivia significativamente a carga das consultas e melhora o desempenho ao abstrair tabelas particionadas em vínculos de partição e excluir eficientemente as partições que não atendem aos critérios de particionamento.

  • Permite consultas paralelas, multiplicando o desempenho em grandes tabelas particionadas.

  • Possibilita o agendamento flexível de partições para simplificar o isolamento de dados baseado em partições.

Comparação com tabelas particionadas do MySQL

Item

Tabela particionada do PolarDB-X

Tabela particionada do MySQL

Localização da partição

As partições são distribuídas automaticamente entre diferentes nós de dados para eliminar o gargalo de recursos de um único nó.

Todas as partições residem no nó primário e compartilham os recursos desse nó.

Regras de particionamento suportadas

  • HASH/KEY

  • RANGE/RANGE COLUMNS

  • LIST/LIST COLUMNS

  • CO_HASH (exclusivo do PolarDB-X)

  • HASH/KEY

  • RANGE/RANGE COLUMNS

  • LIST/LIST COLUMNS

Funções de particionamento suportadas

Para obter mais informações, consulte Funções de particionamento.

Use funções para expressar regras HASH, RANGE ou LIST.

As funções a seguir estão disponíveis tanto no PolarDB-X quanto no MySQL:

  • YEAR

  • MONTH

  • TO_DAYS

  • TO_SECONDS

  • UNIX_TIMESTAMP

  • DAYOFWEEK

  • DAYOFMONTH

  • DAYOFYEAR

As funções abaixo são exclusivas do PolarDB-X:

  • TO_MONTHS

  • TO_WEEKS

  • SUBSTR/SUBSTRING (Para a função padrão do MySQL, consulte MySQL SUBSTR.)

  • RIGHT (Para a função padrão do MySQL, consulte MySQL RIGHT.)

  • LEFT (Para a função padrão do MySQL, consulte MySQL LEFT.)

Use funções para expressar regras de particionamento HASH, RANGE ou LIST. Para obter informações sobre as funções aplicáveis ao particionamento de tabelas MySQL, consulte Partitioning Limitations Relating to Functions.

O MySQL não suporta funções de particionamento que usam entradas do tipo caractere, como SUBSTR, SUBSTRING, RIGHT e LEFT.

Regras de particionamento hash

HASH

  • Utiliza o algoritmo de roteamento por hash consistente.

  • Aceita colunas de chave de partição vetoriais, como Partition By Hash(a,b). Para obter mais informações, consulte Particionamento HASH.

  • Utiliza o algoritmo de roteamento por hash modular.

  • Não aceita colunas de chave de partição vetoriais, como Partition By Hash(a,b).

KEY

  • Utiliza o algoritmo de roteamento por hash consistente.

  • Aceita colunas de chave de partição vetoriais. Por padrão, usa a primeira coluna para o cálculo de rota. Para obter mais informações, consulte Particionamento KEY.

  • Permite a distribuição de dados quentes (hot data).

  • Suporta poda de partições com base em condições de igualdade para colunas de chave de partição com prefixos.

  • Utiliza o algoritmo de roteamento por hash modular.

  • Aceita colunas de chave de partição vetoriais e usa todas as colunas para o cálculo de rota.

  • Não permite a distribuição de dados quentes.

  • Não suporta poda de partições com base em condições de igualdade para colunas de chave de partição com prefixos. Use todas as condições de igualdade que possuem colunas de chave de partição para realizar a poda de partições.

CO_HASH

  • Esta regra é exclusiva do PolarDB-X. Para obter mais informações, consulte Particionamento CO_HASH.

  • Permite o particionamento horizontal simultâneo por duas ou mais colunas de chave de partição.

  • Suporta poda de partições para consultas equivalentes em todas as colunas de chave de partição.

CO_HASH não é suportado.

Regras de particionamento por intervalo

RANGE

Aceita funções de particionamento que usam entradas do tipo caractere, como right/left/substr. Para obter mais informações, consulte Particionamento RANGE.

Não aceita funções de particionamento que usam entradas do tipo caractere, como right/left/substr.

RANGE COLUMNS

Suporta, por padrão, até cinco colunas de chave de partição na definição da partição. Ajuste os parâmetros conforme necessário. Para obter mais informações, consulte Particionamento RANGE COLUMNS.

Não limita o número de colunas de chave de partição.

Regras de particionamento por lista

LIST

  • Permite a definição de partições padrão.

  • Aceita colunas de chave de partição do tipo caractere.

  • Aceita funções de particionamento que usam entradas do tipo caractere, como RIGHT, LEFT e SUBSTR.

  • Permite modificar conjuntos de valores de particionamento separadamente.

  • Para obter mais informações, consulte Particionamento LIST.

  • Não permite a definição de partições padrão.

  • Não aceita colunas de chave de partição do tipo caractere.

  • Não aceita funções de particionamento que usam entradas do tipo caractere, como RIGHT, LEFT e SUBSTR.

  • Não permite modificar conjuntos de valores de particionamento separadamente.

LIST COLUNNS

  • Permite a definição de partições padrão.

  • Permite modificar conjuntos de valores de particionamento separadamente.

  • Para obter mais informações, consulte Particionamento LIST COLUMNS.

  • Não permite a definição de partições padrão.

  • Não permite modificar conjuntos de valores de particionamento separadamente.

Regras de particionamento secundário

Regras híbridas

É possível usar até 49 regras híbridas com base em sete regras ortométricas de particionamento de nível 1 e regras de particionamento de nível 2.

  • As regras de particionamento HASH e KEY não podem definir regras de particionamento de nível 2.

  • Defina regras de particionamento de nível 2 usando as quatro regras a seguir: RANGE, RANGE COLUMNS, LIST e LIST COLUMNS. As regras de particionamento de nível 2 devem ser HASH ou KEY.

  • Existem oito regras de particionamento híbrido.

Com e sem modelo

Todas as regras híbridas funcionam com ou sem modelo. Para obter mais informações, consulte Particionamento secundário.

  • Todas as regras híbridas funcionam apenas como modelos de particionamento de nível 2.

  • Regras de particionamento de nível 2 sem modelo não são suportadas.

Distribuição de localização

  • A localidade no nível da partição é suportada.

  • Permite especificar a definição de localidade de uma partição de nível 2 para controlar sua distribuição física.

  • Permite especificar a definição de localidade de uma partição de nível 1 para controlar a distribuição física das partições de nível 2 subordinadas. Por exemplo, distribua todas as partições de nível 2 de uma partição de nível 1 para o mesmo nó de dados.

A localidade no nível da partição não é suportada.

Alterações no nível da partição

  • As tabelas particionadas do PolarDB-X (incluindo partições de nível 2) suportam as seguintes operações nas definições de partição:

    • Dividir uma partição em várias partições

    • Mesclar partições

    • Migrar uma partição

    • Adicionar partições

    • Excluir partições

    • Modificar uma partição

    • Reorganizar partições

    • Limpar partições

    • Renomear partições

  • Todas as alterações de O&M de partições são operações DDL online que não bloqueiam tabelas.

As tabelas particionadas do MySQL suportam as seguintes alterações nas definições de partição:

  • Mesclar partições

  • Reorganizar partições

  • Adicionar partições

  • Excluir partições

  • Limpar uma partição

  • Trocar partições

A maioria das alterações no nível da partição bloqueia tabelas.

Redefinição de tabela particionada

  • Suporta troca de dados online entre tabelas particionadas, tabelas não particionadas e tabelas de broadcast, embora seja necessária a migração dos dados.

  • A redefinição é uma operação DDL online que não bloqueia tabelas.

  • Use Remove Partitioning para alternar entre uma tabela particionada e a tabela original não particionada.

  • A redefinição bloqueia tabelas.

Restrições de coluna de chave de partição

No PolarDB-X, as tabelas particionadas não exigem que a chave primária e a chave única contenham todas as colunas de chave de partição (incluindo partições de nível 1 e nível 2).

No MySQL, as tabelas particionadas exigem que a chave primária e a chave única contenham todas as colunas de chave de partição (incluindo partições de nível 1 e nível 2).

Índices globais

  • Suporta definições de tabelas particionadas na tabela de índice global.

  • Permite alterações separadas de O&M para partições na tabela de índice global.

Índices globais não são suportados.