Ambos jogam os dados fora. E não é 'transacional', então você não pode recuperar os dados com um
ROLLBACK
. DROP PARTITION
também remove a partição da lista de partições. TRUNCATE PARTITION
deixa a partição no lugar, mas vazia. Um uso comum de
DROP PARTITION
é remover linhas "antigas". Pense em uma tabela de informações que precisa ser guardada por apenas 90 dias. Use PARTITION BY RANGE(TO_DAYS(...))
e ter partições semanais. Então, toda semana DROP
o mais antigo e ADD
uma nova partição. Mais discussão aqui
. Não vi necessidade de
TRUNCATE
. Esteja ciente de que existem muito poucos casos de uso em que você pode obter algum benefício do
PARTITIONing
. Até agora, encontrei usos apenas para PARTITION BY RANGE
.