Junior — Middle
Kas saaksite selgitada, kuidas töötab VACUUM käsk PostgreSQL-is ja milleks seda kasutatakse?
sobes.tech AI
Vastus AI-lt
PostgreSQL'is VACUUM käsk kasutatakse andmebaasi 'surnud' ridade puhastamiseks, mis jäävad pärast uuendamis- ja kustutamistoiminguid. See aitab vabastada ruumi ja takistada tabelite kasvamist.
VACUUMi peamised ülesanded:
- Vanemate ridade versioonide (surnud tulpade) eemaldamine, et need ruumi ei hõivaks.
- Statistiliste andmete uuendamine päringute planeerijale (kui kasutatakse VACUUM ANALYZE).
- Transaktsiooni ID ülevoolu (wraparound) ennetamine.
Regulaarse VACUUMi teostamata võib andmebaasi jõudlus halveneda ja tabelite suurus suureneda.
SQL näide:
VACUUM;
VACUUM ANALYZE;
Go keeles saab seda käsku täita andmebaasi draiveri kaudu, näiteks:
_, err := db.Exec("VACUUM")
if err != nil {
log.Fatal(err)
}