Sobes.tech
Junior — Middle

Miért használják a VACUUM parancsot a PostgreSQL-ben, és mi a fő szerepe az adatbázis kezelésében?

sobes.tech MI

Válasz az MI-től

A PostgreSQL-ben a VACUUM parancsot az adatbázis 'halott' sorainak tisztítására használják, amelyek frissítések és törlések után maradnak. A VACUUM fő feladata, hogy felszabadítsa ezeket a régi rekordokat, megakadályozva a táblák méretének növekedését és javítva a lekérdezések teljesítményét.

A PostgreSQL MVCC-t (Multi-Version Concurrency Control) használ, ahol a frissítések nem írják felül a sorokat, hanem új verziókat hoznak létre. A régi verziók 'halott' státuszba kerülnek, és nem szükségesek többé, miután minden tranzakció, amely láthatta őket, befejeződött. A VACUUM eltávolítja ezeket a régi verziókat.

Ezenkívül a VACUUM frissíti a statisztikákat és a metaadatokat, segítve a lekérdezőtervezőt az optimális végrehajtási tervek kiválasztásában.

Használati példa:

VACUUM;
-- vagy mélyebb tisztításhoz
VACUUM FULL;