Junior — Middle
Puteți explica cum funcționează comanda VACUUM în PostgreSQL și de ce este utilizată?
sobes.tech AI
Răspuns de la AI
Comanda VACUUM în PostgreSQL este utilizată pentru a curăța baza de date de rândurile 'moarte' care rămân după operațiile de actualizare și ștergere. Acest lucru ajută la eliberarea spațiului și prevenirea creșterii tabelelor.
Sarcinile principale ale VACUUM:
- Eliminarea versiunilor vechi ale rândurilor (tupluri moarte) pentru a nu ocupa spațiu.
- Actualizarea statisticilor pentru planificatorul de interogări (dacă se folosește VACUUM ANALYZE).
- Prevenirea depășirii ID-ului de tranzacție (wraparound).
Fără executarea regulată a VACUUM, performanța bazei de date poate scădea, iar dimensiunea tabelelor poate crește.
Exemplu de apel în SQL:
VACUUM;
VACUUM ANALYZE;
În Go, puteți executa această comandă prin driverul bazei de date, de exemplu:
_, err := db.Exec("VACUUM")
if err != nil {
log.Fatal(err)
}