Beide werfen die Daten weg. Und es ist nicht 'transaktional', also können Sie die Daten nicht mit einem ROLLBACK
wiederherstellen .
DROP PARTITION
entfernt die Partition auch aus der Liste der Partitionen.
TRUNCATE PARTITION
lässt die Partition an Ort und Stelle, aber leer.
Eine übliche Verwendung von DROP PARTITION
ist, "alte" Zeilen zu entfernen. Stellen Sie sich eine Tabelle mit Informationen vor, die nur 90 Tage aufbewahrt werden muss. Verwenden Sie PARTITION BY RANGE(TO_DAYS(...))
und haben wöchentliche Partitionen. Dann jede Woche DROP
die älteste und ADD
eine neue Partition. Weitere Diskussionen hier
.
Ich habe keine Notwendigkeit für TRUNCATE
gesehen .
Beachten Sie, dass es nur sehr wenige Anwendungsfälle gibt, in denen Sie von PARTITIONing
profitieren können . Bisher habe ich nur Verwendungen für PARTITION BY RANGE
gefunden .