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
.