Waarom wordt het commando VACUUM gebruikt in PostgreSQL en wat is de belangrijkste rol ervan in databasebeheer?
sobes.tech AI
Antwoord van AI
In PostgreSQL wordt het commando VACUUM gebruikt om de database schoon te maken van 'dode' rijen die achterblijven na updates en deleties. De belangrijkste rol van VACUUM is het vrijmaken van ruimte die door deze verouderde records wordt ingenomen, om de groei van de tabelgrootte te voorkomen en de query-prestaties te verbeteren.
PostgreSQL gebruikt MVCC (Multi-Version Concurrency Control), waarbij updates rijen niet overschrijven, maar nieuwe versies creëren. Oude versies worden als 'dood' beschouwd en zijn niet meer nodig nadat alle transacties die ze konden zien, zijn voltooid. VACUUM verwijdert deze oude versies.
Daarnaast werkt VACUUM statistieken en metadata bij, wat de query planner helpt om de optimale uitvoeringsplannen te kiezen.
Voorbeeld van gebruik:
VACUUM;
-- of voor een diepere schoonmaak
VACUUM FULL;