当前位置: 首页 > news >正文

vacuum、vacuum full的使用方法及注意事项

文章目录

  • 环境
  • 文档用途
  • 详细信息

环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5.8

文档用途

"vacuum"和"vacuum full"是瀚高数据库中的两个用于对表进行清理和优化的命令,用来提高查询性能和减少存储空间。本文章用于介绍如何使用 "vacuum"和"vacuumfull"对表进行清理和优化。

详细信息

一、VACUUM

简单的收回已删除行占用的磁盘空间,并更新表的统计信息。vacuum收回由死亡元组占用的存储空间,在通常的数据库操作中,被删除或者被更新废弃的元组并没有在物理上从它们的表中移除,它们将一直存在直到一次vacuum被执行
以下是vacuum命令的基本语法:

  VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ table_name ]

参数说明:

FULL:详细说明见“二 VACUUM FULL”。

FREEZE:在清除之前,先冻结所有锁定表的事务,以确保所有未完成的事务都已提交或回滚。

VERBOSE:显示详细的输出信息。

ANALYZE:更新表的统计信息,以便查询优化器能够使用最新的数据进行查询优化。

table_name:指定要清理的表名。

注意事项:

1、在高并发环境下,执行vacuum命令时可能会对性能产生影响。2、如果对一个非常大的表进行清理操作,可能需要较长的时间来完成。

以下是一个使用vacuum的例子:

1、订单表(orders)中有若干条数据,更新部分数据后,查询膨胀表(如下图),可看到order表有700万死亡元组,执行vacuum后,再次查询膨胀表后已无order。
在这里插入图片描述
二、VACUUM FULL
可以收回更多空间,并且需要更长时间和表上的排他锁。这种方法还需要额外的磁盘空间,因为它会创建该表的一个新拷贝,并且在操作完成之前都不会释放旧的拷贝,通常这种方法只用于需要从表中收回数量庞大的空间时。

  VACUUM FULL [ FREEZE ] [ VERBOSE ] [ table_name ] 

参数说明:

FREEZE:在清除之前,先冻结所有锁定表的事务,以确保所有未完成的事务都已提交或回滚。

VERBOSE:显示详细的输出信息。

table_name:指定要清理的表名。

注意事项:

1、执行vacuum full命令时,需要足够的磁盘空间来保存重建表的数据。

2、vacuum full开始执行时,系统会先对目标创建一个AccessExclusiveLock ,不允许外界再进行访问(为后面拷贝做准备),然后创建一个表结构和目标表相同的新表,此时vacuum full操作会锁表从而阻塞对表的操作。

3、在高并发环境下,执行vacuum full命令时可能会对性能产生影响。

4、如果对一个非常大的表进行清理操作,可能需要很长时间来完成。

以下例子展示执行vacuum full操作时阻塞对表执行select操作。

1、执行vacuum full时会锁表,无法对表进行操作。
在这里插入图片描述
三、总结:

vacuum 和 vacuum full 是瀚高数据库中用于维护和优化数据库的工具。vacuum 用于回收被删除或更新行的空间,并更新表的统计信息,而 vacuum full 则更彻底地回收表占用的空间,适用于处理碎片化严重的表。二者对于优化数据库性能和管理磁盘空间非常重要。

http://www.xdnf.cn/news/469837.html

相关文章:

  • “禁塑行动·我先行”环保公益项目落地宁夏,共筑绿色生活新篇章
  • 4、前后端联调文生文、文生图事件
  • 趋势跟踪策略的回测
  • AI Agent开发第67课-彻底消除RAG知识库幻觉-文档分块全技巧(1)
  • pgsql14自动创建表分区
  • SpringBoot 自动装配流程
  • [Java实战]Spring Boot 3实现 RBAC 权限控制(二十五)
  • SpringBoot项目使用POI-TL动态生成Word文档
  • 去年开发一款鸿蒙Next Os的window工具箱
  • 软考软件评测师——软件工程之系统维护
  • ADS1220高精度ADC(TI)——应用 源码
  • 采用sherpa-onnx 实现 ios语音唤起的调研
  • 每周靶点:NY-ESO-1、GPC3、IL27分享
  • Linux操作
  • Oracle APEX IR报表列宽调整
  • [ctfshow web入门] web75
  • 运维实施30-FTP服务
  • 欧拉计划 Project Euler 73(分数有范围计数)题解
  • ABP User Interface-Angular UI中文详解
  • Loki的部署搭建
  • JS手写代码篇---手写 Object.create
  • 哈夫曼树完全解析:从原理到应用
  • 接口测试知识详解
  • 亚马逊运营中评论体系构建与高效索评策略解析!
  • 4寸工业三防手持机PDA,助力仓储高效管理
  • 【在qiankun模式下el-dropdown点击,浏览器报Failed to execute ‘getComputedStyle‘ on ‘Window‘: parameter 1 is not o
  • 亚马逊,temu测评采购低成本养号策略:如何用一台设备安全批量管理买家账号
  • 英语学习笔记
  • 移动端网络调试全流程:从常见抓包工具到Sniffmaster 的实战体验
  • Web》》url 参数 # 、 ? 、@