Obaj wyrzucają dane. I nie jest to „transakcyjne”, więc nie możesz odzyskać danych za pomocą ROLLBACK .
DROP PARTITION usuwa również partycję z listy partycji.
TRUNCATE PARTITION pozostawia przegrodę na miejscu, ale pustą.
Typowe użycie DROP PARTITION jest usunięcie „starych” wierszy. Pomyśl o tabeli informacji, które należy przechowywać tylko przez 90 dni. Użyj PARTITION BY RANGE(TO_DAYS(...)) i mają cotygodniowe partycje. Następnie co tydzień DROP najstarszy i ADD nowa partycja. Więcej dyskusji tutaj
.
Nie widziałem potrzeby TRUNCATE .
Należy pamiętać, że istnieje bardzo niewiele przypadków użycia, w których można uzyskać jakiekolwiek korzyści z PARTITIONing . Do tej pory znalazłem zastosowania tylko dla PARTITION BY RANGE .