Junior — Middle
Můžete vysvětlit, jak funguje příkaz VACUUM v PostgreSQL a proč se používá?
sobes.tech AI
Odpověď od AI
Příkaz VACUUM v PostgreSQL se používá k čištění databáze od 'mrtvých' řádků, které zůstávají po operacích aktualizace a mazání. Pomáhá uvolnit místo a zabránit růstu tabulek.
Hlavní úkoly VACUUM:
- Odstranění starších verzí řádků (mrtvých tuple), aby nezabíraly místo.
- Aktualizace statistik pro plánovač dotazů (pokud se používá VACUUM ANALYZE).
- Prevence přetečení transakčního ID (wraparound).
Bez pravidelného spouštění VACUUM může dojít ke zpomalení výkonu databáze a růstu velikosti tabulek.
Příklad volání v SQL:
VACUUM;
VACUUM ANALYZE;
V Go lze tento příkaz spustit přes ovladač databáze, například:
_, err := db.Exec("VACUUM")
if err != nil {
log.Fatal(err)
}