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 .