sql >> Databasteknik >  >> RDS >> Mysql

Vad är skillnaden mellan mysql drop-partition och truncate-partition

Båda slänger data. Och det är inte "transaktionellt", så du kan inte återställa data med en ROLLBACK .

DROP PARTITION tar också bort partitionen från listan över partitioner.

TRUNCATE PARTITION lämnar partitionen på plats, men tom.

En vanlig användning av DROP PARTITION är att ta bort "gamla" rader. Tänk på en tabell med information som bara behöver sparas i 90 dagar. Använd PARTITION BY RANGE(TO_DAYS(...)) och har veckovisa partitioner. Sedan, varje vecka DROP den äldsta och ADD en ny partition. Mer diskussion här .

Jag har inte sett något behov av TRUNCATE .

Var medveten om att det finns väldigt få användningsfall där du kan få någon fördel av PARTITIONing . Hittills har jag bara hittat användningsområden för PARTITION BY RANGE .



  1. Implementera automatisk säkerhetskopiering och återställning av databas med standardmedel

  2. Jämförelse av databaskolumntyper i MySQL, PostgreSQL och SQLite? (Cross-mapping)

  3. MySQL Performance:Introduktion till JOINs i SQL

  4. Hur Atan2() fungerar i PostgreSQL