Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was ist der Unterschied zwischen mysql drop partition und truncate partition

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 .