Sobes.tech
Junior — Middle

Prečo sa v PostgreSQL používa príkaz VACUUM a aká je jeho hlavná úloha pri správe databázy?

sobes.tech AI

Odpoveď od AI

V PostgreSQL sa používa príkaz VACUUM na vyčistenie databázy od 'mŕtvych' riadkov, ktoré zostávajú po aktualizáciách a vymazaniach. Hlavnou úlohou VACUUM je uvoľniť miesto obsadené týmito zastaranými záznamami, aby sa zabránilo rastu veľkosti tabuliek a zlepšila sa výkonnosť dotazov.

PostgreSQL používa MVCC (kontrola súbežnosti s viacerými verziami), pri ktorej aktualizácie neprepíšu riadky, ale vytvárajú nové verzie. Staré verzie sú považované za 'mŕtve' a nie sú už potrebné po dokončení všetkých transakcií, ktoré ich mohli vidieť. VACUUM odstraňuje tieto staré verzie.

Okrem toho VACUUM aktualizuje štatistiky a metadáta, čo pomáha plánovačom dotazov vybrať optimálne plány vykonania.

Príklad použitia:

VACUUM;
-- alebo pre dôkladnejšie čistenie
VACUUM FULL;