Há uma tabela com partição, onde a função e o esquema da partição são definidos como abaixo:
CREATE PARTITION FUNCTION DateRangePF (CHAR(8))
AS RANGE RIGHT FOR VALUES ('20180101','20190101')
CREATE PARTITION SCHEME DateRangePS
AS PARTITION DateRangePF TO (Y2018FG, Y2019FG);
Há muitos dados na partição com valor de limite '20190101' e decidimos particioná-lo em 4 partes com os seguintes valores de limite e grupos de arquivos associados:
- '20190101' com grupo de arquivos Y012019FG,
- '20190401' com grupo de arquivos Y042019FG,
- '20190701' com grupo de arquivos Y072019FG,
- '20191001' com grupo de arquivos Y102019FG.
Agora, qual poderia ser a melhor estratégia para alternar os dados da partição única mais antiga com valor de limite '20190101' para essas quatro partições?
Supondo que sua tabela particionada esteja alinhada, use uma tabela de preparo particionada de maneira semelhante para a manutenção da partição. Isso evitará a movimentação e o registro de dados dispendiosos quando partições não vazias forem divididas.
Abaixo está um exemplo obtido do DDL em sua pergunta. Observe que seu esquema de partição DDL está incorreto, pois a função de partição com 2 limites cria 3 partições, sendo a primeira para dados anteriores ao ano de 2018. Todas as 3 partições devem ser mapeadas para um grupo de arquivos, então usei
PRIMARY
neste script. Não tenho certeza por que você escolheuCHAR(8)
em vez doDATE
tipo de dados da coluna de particionamento, poisDATE
requer apenas 4 bytes por linha em comparação com 8.