Todos os produtos
Search
Central de documentação

PolarDB:Funções de particionamento

Última atualização: Jun 28, 2026

O PolarDB-X oferece um conjunto fixo de funções de particionamento para bancos de dados no modo de particionamento automático. Somente as funções listadas neste tópico são compatíveis com expressões de particionamento.

Conceitos principais

Chave de partição: uma ou mais colunas usadas para particionar horizontalmente uma tabela.

Coluna da chave de partição: coluna individual que compõe uma chave de partição. Uma chave de partição consiste em uma ou mais colunas desse tipo.

Chave de partição de coluna única: chave de partição composta por exatamente uma coluna. Exemplo: c1 em PARTITION BY HASH(c1).

Chave de partição vetorial: chave de partição formada por uma ou mais colunas. Exemplo: (c1,c2,c3) em PARTITION BY HASH(c1,c2,c3).

Função de particionamento: função aplicada às colunas da chave de partição que retorna um valor usado pelo PolarDB-X para direcionar linhas à partição correta. Exemplo: PARTITION BY HASH(TO_DAYS(c1)).

Monotonicidade: relação entre a variação do valor de entrada x e a saída de func(x). A monotonicidade determina se o PolarDB-X pode aplicar pruning de partições em consultas por intervalo.

Tipo de monotonicidade

Definição

Pruning de partições em consultas por intervalo

Monotonicidade estrita

Se x > y, então func(x) > func(y). Se x < y, então func(x) < func(y).

Compatível

Monotonicidade não estrita

Se x > y, então func(x) >= func(y). Se x < y, então func(x) <= func(y).

Compatível

Sem monotonicidade

Quando x > y, func(x) pode não ser >= func(y).

Não compatível

Funções sem monotonicidade (como MONTH, DAYOFWEEK, DAYOFMONTH, DAYOFYEAR, SUBSTR/SUBSTRING, RIGHT e LEFT) não permitem pruning de partições em consultas por intervalo. Consultas com predicados de intervalo em partições baseadas nessas funções percorrem todas as partições.

Propriedades das funções

A tabela a seguir lista todas as funções de particionamento compatíveis, a versão mínima do PolarDB-X necessária, o tipo de monotonicidade e os tipos de dados de coluna aceitos.

Notas de rodapé para a coluna Supported data types:

  • Tipos inteiros: BIGINT, BIGINT UNSIGNED, INT, INT UNSIGNED, MEDIUMINT, MEDIUMINT UNSIGNED, SMALLINT, SMALLINT UNSIGNED, TINYINT, TINYINT UNSIGNED

  • Tipos de data e hora: DATE, DATETIME, TIMESTAMP

  • Tipos string: CHAR, VARCHAR

Função

Descrição

Versão mínima

Monotonicidade

Tipos inteiros

Tipos de data e hora

Tipos string

YEAR(date)

Retorna o ano da data de entrada. Consulte YEAR(date) na documentação do MySQL.

5.4.13

Não estrita

-

Sim

-

MONTH(date)

Retorna o mês da data de entrada. Consulte MONTH(date) na documentação do MySQL.

5.4.13

Nenhuma

-

Sim

-

TO_DAYS(date)

Retorna o número de dias desde 1º de janeiro de 0000 até a data de entrada. Consulte TO_DAYS(date) na documentação do MySQL.

5.4.13

Não estrita

-

Sim

-

TO_MONTHS(date)

Retorna o número de meses desde 1º de janeiro de 0000 até a data de entrada. Esta é uma função específica do PolarDB-X.

5.4.16-16717637

Não estrita

-

Sim

-

TO_WEEKS(date)

Retorna o número de semanas desde 1º de janeiro de 0000 até a data de entrada. Esta é uma função específica do PolarDB-X.

5.4.16-16717637

Não estrita

-

Sim

-

TO_SECONDS(expr)

Retorna o número de segundos desde 1º de janeiro de 0000, 00:00:00, até o horário de entrada. Consulte TO_SECONDS(expr) na documentação do MySQL.

5.4.13

Não estrita

-

Sim

-

UNIX_TIMESTAMP([date])

Retorna o número de segundos desde 1º de janeiro de 1970, 00:00:00 UTC, até o horário de entrada. Consulte [UNIX_TIMESTAMP([date])](https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_unix-timestamp) na documentação do MySQL.

5.4.13

Não estrita

-

Sim

-

DAYOFWEEK(date)

Retorna o dia da semana como um inteiro (1 = domingo, 2 = segunda-feira, ..., 7 = sábado). Consulte DAYOFWEEK(date) na documentação do MySQL.

5.4.16-16717637

Nenhuma

-

Sim

-

DAYOFMONTH(date)

Retorna o dia do mês como um inteiro (1-31). Consulte DAYOFMONTH(date) na documentação do MySQL.

5.4.16-16717637

Nenhuma

-

Sim

-

DAYOFYEAR(date)

Retorna o dia do ano como um inteiro (1-366). Consulte DAYOFYEAR(date) na documentação do MySQL.

5.4.16-16717637

Nenhuma

-

Sim

-

SUBSTR/SUBSTRING

Retorna uma substring da string de entrada. Consulte SUBSTRING() na documentação do MySQL.

5.4.16-16717637

Nenhuma

-

-

Sim

RIGHT(str, len)

Retorna os len caracteres mais à direita da string de entrada. Consulte RIGHT(str,len) na documentação do MySQL.

5.4.18-17034692

Nenhuma

-

-

Sim

LEFT(str, len)

Retorna os len caracteres mais à esquerda da string de entrada. Consulte LEFT(str,len) na documentação do MySQL.

5.4.18-17034692

Nenhuma

-

-

Sim

Suporte a políticas de particionamento

A tabela a seguir mostra quais políticas de particionamento cada função aceita.

Todas as funções são compatíveis com HASH (coluna única), RANGE (coluna única) e LIST (coluna única). Nenhuma função aceita KEY, HASH (vetorial), RANGE COLUMNS, LIST COLUMNS ou LIST (vetorial). O suporte a CO_HASH restringe-se às funções de string.

Função

KEY

HASH (coluna única)

HASH (vetorial)

RANGE (coluna única)

RANGE (vetorial)

RANGE COLUMNS

LIST (coluna única)

LIST (vetorial)

LIST COLUMNS

CO_HASH

YEAR

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Não

MONTH

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Não

TO_DAYS

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Não

TO_MONTHS

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Não

TO_WEEKS

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Não

TO_SECONDS

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Não

UNIX_TIMESTAMP

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Não

DAYOFWEEK

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Não

DAYOFMONTH

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Não

DAYOFYEAR

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Não

SUBSTR/SUBSTRING

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Sim

RIGHT

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Sim

LEFT

Não

Sim

Não

Sim

Não

Não

Sim

Não

Não

Sim