Beide gooien de gegevens weg. En het is niet 'transactioneel', dus u kunt de gegevens niet herstellen met een ROLLBACK
.
DROP PARTITION
verwijdert ook de partitie uit de lijst met partities.
TRUNCATE PARTITION
laat de partitie op zijn plaats, maar leeg.
Een algemeen gebruik van DROP PARTITION
is om "oude" rijen te verwijderen. Denk aan een tabel met informatie die slechts 90 dagen moet worden bewaard. Gebruik PARTITION BY RANGE(TO_DAYS(...))
en hebben wekelijkse partities. Daarna, elke week DROP
de oudste en ADD
een nieuwe partitie. Meer discussie hier
.
Ik heb geen noodzaak gezien voor TRUNCATE
.
Houd er rekening mee dat er zeer weinig gevallen zijn waarin u enig voordeel kunt halen uit PARTITIONing
. Tot nu toe heb ik alleen toepassingen gevonden voor PARTITION BY RANGE
.