Entrambi buttano via i dati. E non è "transazionale", quindi non puoi recuperare i dati con un ROLLBACK
.
DROP PARTITION
rimuove anche la partizione dall'elenco delle partizioni.
TRUNCATE PARTITION
lascia la partizione in posizione, ma vuota.
Un uso comune di DROP PARTITION
è rimuovere le "vecchie" righe. Pensa a una tabella di informazioni che deve essere conservata per soli 90 giorni. Usa PARTITION BY RANGE(TO_DAYS(...))
e hanno partizioni settimanali. Quindi, ogni settimana DROP
il più vecchio e ADD
una nuova partizione. Altre discussioni qui
.
Non ho visto la necessità di TRUNCATE
.
Tieni presente che ci sono pochissimi casi d'uso in cui puoi trarre vantaggio da PARTITIONing
. Finora, ho trovato usi solo per PARTITION BY RANGE
.