Begge smider dataene væk. Og det er ikke 'transaktionel', så du kan ikke gendanne dataene med en ROLLBACK
.
DROP PARTITION
fjerner også partitionen fra listen over partitioner.
TRUNCATE PARTITION
efterlader partitionen på plads, men tom.
En almindelig brug af DROP PARTITION
er at fjerne "gamle" rækker. Tænk på en tabel med oplysninger, der kun skal opbevares i 90 dage. Brug PARTITION BY RANGE(TO_DAYS(...))
og har ugentlige skillevægge. Derefter DROP
hver uge den ældste og ADD
en ny partition. Mere diskussion her
.
Jeg har ikke set et behov for TRUNCATE
.
Vær opmærksom på, at der er meget få brugstilfælde, hvor du kan få nogen fordel af PARTITIONing
. Indtil videre har jeg kun fundet anvendelser for PARTITION BY RANGE
.