MOT VACUUM清理

使用VACUUM进行垃圾收集,并有选择地分析数据库,如下所示。

  • 【openGauss】

在openGauss中,VACUUM用于回收死元组占用的存储空间。在正常的openGauss操作中,删除的元组或因更新而作废的元组不会从表中物理删除。只能由VACUUM清理。因此,需要定期执行VACUUM,特别是在频繁更新的表上。 - 【MOT扩展】

MOT不需要周期性的VACUUM操作,因为新元组会重用失效元组和空元组。只有当MOT的大小急剧减少,并且不计划恢复到原来大小时,才需要VACUUM操作。

例如,应用程序定期(如每周一次)大量删除表数据的同时插入新数据,这需要几天时间,并且不一定是相同数量的行。在这种情况下,可以使用VACUUM。

对MOT的VACUUM操作总是被转换为带有排他表锁的VACUUM FULL。 - 支持的语法和限制

按规范激活VACUUM操作。

1. VACUUM [FULL | ANALYZE] [ table ];

只支持FULL和ANALYZE VACUUM两种类型。VACUUM操作只能对整个MOT进行。

不支持以下Postgres VACUUM选项:

  • FREEZE
  • VERBOSE
  • Column specification
  • LAZY模式(部分表扫描)

此外,不支持以下功能:

  • AUTOVACUUM