sql >> Database >  >> RDS >> Mysql

Wat is het verschil tussen mysql-droppartitie en truncate-partitie?

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 .



  1. Waarom meerdere JOIN's slecht zijn voor query's of de Optimizer niet in de weg staan

  2. Nieuwste PostgreSQL-trends:de meeste tijdrovende taken en belangrijke statistieken om bij te houden

  3. Waardelijst invoegen komt niet overeen met kolomlijst:1136 Kolomtelling komt niet overeen met waardetelling

  4. ScaleGrid op shortlist voor 2017-2018 Cloud Awards-programma