Senior
VACUUM дар PostgreSQL чӣ кор мекунад ва чаро хатҳои маргдора пайдо мешаванд?
sobes.tech AI
Ҷавоб аз AI
В PostgreSQL, вақте ки шумо навсозӣ ё нест кардани сатрҳо мекунед, нусхаҳои кӯҳнаи сатрҳо фавран нест намешаванд, балки ба "мурдҳои" (dead tuples) табдил меёбанд. Ин бо MVCC (Контроли бисёрсуръатии ҳамзамон) алоқаманд аст, ки изоляцияи транзаксияҳоро таъмин мекунад. Мурдҳои сатр ҷой мегиранд ва метавонанд суръати кории базаи маълумотро суст кунанд.
Команда VACUUM ин мурдҳои сатрро тоза мекунад, ҷойро озод мекунад ва пешгирӣ мекунад, ки мизоҷон ва индексҳо зиёд шаванд. Вай VACUUM оддӣ дорад, ки танҳо ҷойро ҳамчун озод ишора мекунад, ва VACUUM FULL, ки инчунин таблицаро фишурда мекунад ва андозаи физикии онро кам мекунад.
Масалан:
VACUUM ман_таблицам;
Ин тариқ, VACUUM иҷроишро нигоҳ медорад ва истифодаи зиёди ҷойро дар диск пешгирӣ мекунад.