Sobes.tech
Senior

Wat doet VACUUM in PostgreSQL en waarom verschijnen dode rijen?

sobes.tech AI

Antwoord van AI

In PostgreSQL worden bij het bijwerken of verwijderen van rijen de oude versies van de rijen niet meteen verwijderd, maar worden ze "dode tuples" (dead tuples). Dit heeft te maken met MVCC (Multi-Version Concurrency Control), dat transacties isolatie garandeert. Dode rijen nemen ruimte in en kunnen de prestaties van de database vertragen.

Het VACUUM-commando ruimt deze dode rijen op, bevrijdt ruimte en voorkomt dat tabellen en indexen groeien. Er is een gewone VACUUM, die de ruimte gewoon markeert als vrij, en een VACUUM FULL, die de tabel verder comprimeert en de fysieke grootte vermindert.

Voorbeeld:

VACUUM mijn_tabel;

Op deze manier houdt VACUUM de prestaties op peil en voorkomt overmatig gebruik van schijfruimte.