使用VACUUM进行垃圾收集,并有选择地分析数据库,如下所示。
- 【Postgres】
在Postgres中,VACUUM用于回收死元组占用的存储空间。在正常的Postgres操作中,删除的元组或因更新而作废的元组不会从表中物理删除。只能由VACUUM清理。因此,需要定期执行VACUUM,特别是在频繁更新的表上。
- 【MOT扩展】
MOT不需要周期性的VACUUM操作,因为新元组会重用失效元组和空元组。只有当MOT的大小急剧减少,并且不计划恢复到原来大小时,才需要VACUUM操作。
例如,应用程序定期(如每周一次)大量删除表数据的同时插入新数据,这需要几天时间,并且不一定是相同数量的行。在这种情况下,可以使用VACUUM。
对MOT的VACUUM操作总是被转换为带有排他表锁的VACUUM FULL。
- 支持的语法和限制
按规范激活VACUUM操作。
VACUUM [FULL | ANALYZE] [ table ];
只支持FULL和ANALYZE VACUUM两种类型。VACUUM操作只能对整个MOT进行。
不支持以下Postgres VACUUM选项:
-
FREEZE
-
VERBOSE
-
Column specification
-
LAZY模式(部分表扫描)
此外,不支持以下功能: -
AUTOVACUUM
官方文档地址:https://opengauss.org/zh/docs/latest/docs/Developerguide/MOT-VACUUM%E6%B8%85%E7%90%86.html
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




