Sobes.tech
Junior — Middle

Proč se v PostgreSQL používá příkaz VACUUM a jakou má hlavní roli v správě databáze?

sobes.tech AI

Odpověď od AI

V PostgreSQL se příkaz VACUUM používá k čištění databáze od 'mrtvých' řádků, které zůstávají po aktualizacích a mazání. Hlavní funkcí VACUUM je uvolnit místo obsazené těmito zastaralými záznamy, aby nedocházelo ke zvětšování velikosti tabulek a zlepšila se výkonnost dotazů.

PostgreSQL používá MVCC (kontrola souběžnosti s více verzemi), při které aktualizace nepřepisují řádky, ale vytvářejí nové verze. Staré verze jsou považovány za 'mrtvé' a nejsou již potřeba po dokončení všech transakcí, které je mohly vidět. VACUUM tyto staré verze odstraňuje.

Navíc VACUUM aktualizuje statistiky a metadata, což pomáhá plánovači dotazů vybírat optimální plány provedení.

Příklad použití:

VACUUM;
-- nebo pro důkladnější čištění
VACUUM FULL;