Senior
Ինչ է անում VACUUM-ը PostgreSQL-ում և ինչու են հայտնվում մահացած տողեր?
sobes.tech AI
Պատասխան AI-ից
PostgreSQL- ում, երբ դուք թարմացնում եք կամ հեռացնում եք տողեր, հին տարբերակները չեն հեռացվում անմիջապես, այլ դառնում են "մահացած տողեր" (dead tuples): Սա կապված է MVCC-ի (Multi-Version Concurrency Control) հետ, որը ապահովում է գործարքների մեկուսացումը: Մահացած տողերը զբաղեցնում են տեղ և կարող են դանդաղեցնել տվյալների բազայի աշխատանքը:
VACUUM հրամանը մաքրում է այս մահացած տողերը, ազատում տեղը և կանխում աղյուսակների և ինդեքսների աճը: Կան սովորական VACUUM-ը, որը պարզապես նշում է տարածքը որպես ազատ, և VACUUM FULL-ը, որը լրացուցիչ սեղմում է աղյուսակը, նվազեցնելով նրա ֆիզիկական չափը:
Օրինակ՝
VACUUM իմ_սեղան;
Այսպիսով, VACUUM-ը պահպանում է կատարողականությունը և կանխում է սկավառակի տարածքի գերօգտագործումը։