首页 > 其他分享 >openGauss MOT-VACUUM清理

openGauss MOT-VACUUM清理

时间:2024-04-28 09:59:01浏览次数:25  
标签:FULL MOT VACUUM 操作 openGauss 元组

MOT VACUUM清理

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

  • 【openGauss】

    在openGauss中,VACUUM用于回收死元组占用的存储空间。在正常的openGauss操作中,删除的元组或因更新而作废的元组不会从表中物理删除。只能由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

标签:FULL,MOT,VACUUM,操作,openGauss,元组
From: https://www.cnblogs.com/renxyz/p/18163087

相关文章

  • openGauss dblink
    dblinkdblink是一个可以在一个openGauss数据库会话中连接到其它openGauss数据库的工具,同libpq支持的连接参数一致,可参考链接参数。openGauss默认不编译dblink,下面依次介绍如何编译和使用dblink。编译dblink当前dblink的源码放在contrib/dblink目录中。在编译安装完openGauss数......
  • openGauss file_fdw
    file_fdwfile_fdw模块提供了外部数据封装器file_fdw,可以用来在服务器的文件系统中访问数据文件。数据文件必须是COPYFROM可读的格式,具体请参见COPY的介绍。使用file_fdw访问的数据文件是当前可读的,不支持对该数据文件的写入操作。当前openGauss会默认编译file_fdw,initdb的时候......
  • openGauss Foreign-Data-Wrapper
    ForeignDataWrapperopenGauss的FDW(ForeignDataWrapper)可以实现各个openGauss数据库及远程服务器(包括数据库、文件系统)之间的跨库操作。目前支持的远程数据库类型包括Oracle、Mysql(MariaDB)、openGauss(postgres_fdw)、file_fdw、dblink。用于Oracle的外部数据包装器mysql_......
  • openGauss MOT-SILO增强特性
    MOTSILO增强特性SILO[对比:磁盘与MOT]凭借其基本算法流程,优于我们在研究实验中测试的许多其他符合ACID的OCC算法。然而,为了使SILO成为产品级机制,我们必须用许多在最初设计中缺失的基本功能来增强它,例如:新增对交互式事务的支持,其中事务的SQL运行在客户端实现,而不是作为服务器端......
  • openGauss 如何解决-out-of-memory-allocating-xxx-bytes-after-a-total-of-xxx-bytes
    如何解决"outofmemoryallocatingxxxbytesafteratotalofxxxbytes"报错问题如何解决编译过程中出现的“outofmemoryallocatingxxxbytesafteratotalofxxxbytes”报错。回答报错原因:脚本中的编译过程都添加了-sj参数,同时机器配置较低,内存不足,并发数太大导致......
  • openGauss 轻量版安装包编译
    轻量版安装包编译使用build/script/cmake_package_mini.sh脚本构建openGauss轻量版安装包。前提条件已按照搭建编译环境的要求准备好相关软硬件,并且已参考代码下载下载了代码。已完成开源软件编译构建,具体请参见开源软件编译构建。了解cmake_package_mini.sh脚本的参数选项......
  • openGauss 如何解决-Configure-error-C-compiler-cannot-create-executables-报错
    如何解决“Configureerror:Ccompilercannotcreateexecutables”报错问题如何解决版本编译时出现的“Configureerror:Ccompilercannotcreateexecutables”报错。回答报错原因:binarylibs文件不完整或者被损坏。解决办法:若binarylibs是通过开源软件构建而来,请重新构......
  • openGauss 如何解决-g++-fatal-error-Killed-signal-terminated-program-cclplus-报错
    如何解决"g++:fatalerror:Killedsignalterminatedprogramcclplus"报错问题如何解决编译过程中出现的"g++:fatalerror:Killedsignalterminatedprogramcclplus"报错。回答报错原因:脚本中的编译过程都添加了-sj参数,并发数太大导致错误。解决办法:编译过程中降......
  • 第三章:Memory Consistency Motivation and Sequential Consistency
    chapter3:内存为什么需要consistency和顺序Consistency本章深入研究内存consistency模型,这些模型为程序员和实现者定义了共享内存系统的行为。这些模型定义了行为正确性,以便程序员知道期望什么,实现者知道提供什么。1、共享内存行为存在的问题要了解为什么必须定义共享内存行......
  • openGauss DELETE语句
    DELETE语句DELETE语句可以从指定的表里删除满足WHERE子句的行。如果WHERE子句不存在,将删除表中所有行,结果只保留表结构。语法格式DELETEFROMtable_name[WHEREcondition];参数说明table_name目标表的名称(可以有模式修饰)。取值范围:已存在的表名。condition......