Middle+
Ի՞նչ է տեղի ունենում PostgreSQL աղյուսակի հետ տվյալների ջնջումից հետո, ինչ է VACUUM-ը։
sobes.tech AI
Պատասխան AI-ից
PostgreSQL-ի աղյուսակից տվյալներ ջնջելուց հետո, ֆայլի տարածքը անմիջապես չի ազատվում — ջնջված տողերը նշվում են որպես "մեռած" (dead tuples): Սա նշանակում է, որ դրանք այլևս չեն տեսանելի նոր գործարքների համար, բայց զբաղեցնում են տեղ սկավառակում:
VACUUM հրամանը օգտագործվում է այս մեռած տողերը մաքուրելու, տարածքը վերաօգտագործելի դարձնելու և աղյուսակի չափի աճը կանխելու համար:
Կան երկու հիմնական VACUUM տեսակներ՝
- VACUUM (սովորական) — նշում է, որ մեռած տողերի կողմից զբաղեցրած տարածքը հասանելի է վերաօգտագործման համար աղյուսակի ներսում, բայց չի նվազեցնում ֆիզիկական ֆայլի չափը:
- VACUUM FULL — իրականացնում է ավելի խորը մաքառում, սեղմում աղյուսակը և նվազեցնում ֆայլի չափը սկավառակում, բայց ժամանակավորապես բլոկավորում է աղյուսակն իր կատարման ժամանակ:
Օգտագործման օրինակ՝
VACUUM;
VACUUM FULL;
Կանոնավոր VACUUM-ի կատարումը կարևոր է կատարողականությունը պահպանելու և սկավառակի տարածքի գերօգտագործումը կանխելու համար։