Junior — Middle
Miks PostgreSQL-is kasutatakse käsku VACUUM ja milline on selle peamine roll andmebaasi haldamisel?
sobes.tech AI
Vastus AI-lt
PostgreSQL-is kasutatakse VACUUM käsku andmebaasi 'surnud' ridade puhastamiseks, mis jäävad pärast uuendusi ja kustutamisi. VACUUM-i peamine ülesanne on vabastada ruum, mida need vananenud kirjed hõivavad, et vältida tabelite suuruse kasvu ja parandada päringute jõudlust.
PostgreSQL kasutab MVCC-d (mitme versiooni konkurentsi kontroll), kus uuendused ei üle kirjuta ridu, vaid loovad uusi versioone. Vanad versioonid loetakse 'surnudeks' ja neid ei ole enam vaja pärast seda, kui kõik tehingud, mis neid näha võisid, on lõppenud. VACUUM eemaldab need vanad versioonid.
Lisaks uuendab VACUUM statistikat ja metaandmeid, mis aitab päringukavandajal valida optimaalseid täitmisplaane.
Kasutusnäide:
VACUUM;
-- või sügavamaks puhastamiseks
VACUUM FULL;