Sobes.tech
Junior — Middle

De ce este utilizat comanda VACUUM în PostgreSQL și care este rolul său principal în gestionarea bazei de date?

sobes.tech AI

Răspuns de la AI

În PostgreSQL, comanda VACUUM este utilizată pentru a curăța baza de date de rândurile 'moarte' care rămân după actualizări și ștergeri. Rolul principal al VACUUM este de a elibera spațiul ocupat de aceste înregistrări învechite pentru a preveni creșterea dimensiunii tabelelor și pentru a îmbunătăți performanța interogărilor.

PostgreSQL utilizează MVCC (Controlul Concurenței Multi-Versiune), unde actualizările nu suprascriu rândurile, ci creează versiuni noi. Versiunile vechi sunt considerate 'moarte' și nu mai sunt necesare după ce toate tranzacțiile care le puteau vedea s-au încheiat. VACUUM elimină aceste versiuni vechi.

De asemenea, VACUUM actualizează statisticile și metadatele, ceea ce ajută planificatorul de interogări să aleagă cele mai bune planuri de execuție.

Exemplu de utilizare:

VACUUM;
-- sau pentru o curățare mai profundă
VACUUM FULL;