Use ALTER TABLE ... SET INTERVAL para alterar o tipo ou o valor do intervalo de uma partição existente. Esse recurso é útil quando a granularidade do particionamento precisa mudar após a criação da tabela — por exemplo, ao migrar de partições mensais para anuais conforme a tabela amadurece.
Pré-requisitos
Antes de começar, verifique se você tem:
Um cluster PolarDB for MySQL executando a versão 8.0.2, revisão 8.0.2.2.1 ou posterior
Para verificar a versão do seu cluster, consulte Consultar a versão do mecanismo.
Sintaxe
ALTER TABLE table_name SET { INTERVAL(type, expr) | INTERVAL(expr) };
Parâmetros
|
Parâmetro |
Descrição |
|
|
Nome da tabela. |
|
|
Tipo do intervalo. Tipos de tempo compatíveis: |
|
|
Valor do intervalo. Se o tipo for |
Exemplo
O exemplo a seguir cria uma tabela orders particionada por mês e altera o intervalo para anual.
-- Create a table with monthly interval partitioning
CREATE TABLE orders(
orderkey BIGINT NOT NULL,
custkey BIGINT NOT NULL,
orderdate DATE NOT NULL
)
PARTITION BY RANGE COLUMNS(orderdate) INTERVAL(MONTH, 1) (
PARTITION p0 VALUES LESS THAN('2021-10-01')
);
-- Change the interval to yearly
ALTER TABLE orders SET INTERVAL(YEAR, 1);