Sobes.tech
Junior — Middle

Môžete vysvetliť, ako funguje príkaz VACUUM v PostgreSQL a na čo sa používa?

sobes.tech AI

Odpoveď od AI

Príkaz VACUUM v PostgreSQL sa používa na čistenie databázy od 'mŕtvych' riadkov, ktoré zostávajú po operáciách aktualizácie a mazania. Pomáha uvoľniť miesto a zabrániť rastu tabuliek.

Hlavné úlohy VACUUM:

  • Odstránenie starších verzií riadkov (mŕtvych tuple-ov), aby nezaberali miesto.
  • Aktualizácia štatistík pre plánovač dotazov (ak sa používa VACUUM ANALYZE).
  • Prevencia pretečenia transakčného ID (wraparound).

Bez pravidelného vykonávania VACUUM môže dôjsť k zhoršeniu výkonu databázy a zväčšeniu veľkosti tabuliek.

Príklad volania v SQL:

VACUUM;
VACUUM ANALYZE;

V Go môžete tento príkaz vykonať cez ovládač databázy, napríklad:

_, err := db.Exec("VACUUM")
if err != nil {
    log.Fatal(err)
}