段页式空间回收
可获得性
本特性自 openGauss 7.0-RC3 版本开始引入。
特性简介
本特性支持在DELETE和UPDATE段页式表后,通过系统函数回收空间,使表文件占用的存储资源更有效地释放,不影响用户业务的正常运行。
客户价值
- 提高磁盘空间利用率:释放段尾部的空闲 extent,减少无效磁盘占用,降低存储成本
- 提升数据库查询和更新性能:回收死元组占用的空间,使查询、索引维护更高效,避免不必要的 I/O
- 增强openGauss在大规模OLTP场景下的竞争力:解决段页式表在高并发、高更新率 业务中的膨胀问题,提高系统可用性
- 灵活的部署方式:支持云端 API 调用和本地模型部署
特性描述
支持通过以下系统函数对段页式表进行空间回收:
- gs_table_shrink(新增):回收段尾部空闲 extent,减少表空间膨胀。
- gs_space_shrink_compact(新增):将物理文件中文件尾部的正在使用extent移动至前部(挤气泡),使得文件整理排布紧凑,并刷新高水位线,在刷新后高水位满足文件大小规律时执行物理文件收缩(128M对齐)。
特性增强
无。
特性约束
段页式空间回收特性规格约束如下:
- gs_table_shrink仅支持段页式表,非段页式表报错不支持
- gs_table_shrink仅支持普通表和分区表,二级分区报错不支持
- 系统恢复期间、资源池化备机、备集群等场景不允许执行本操作
- gs_table_shrink、gs_space_shrink_compact系统函数需对表上最高级别排他锁,会影响此时表上的相关业务,业务场景中需寻找合适时机执行本操作
- gs_space_shrink_compact可能会移动末尾非空extent,从而导致相关索引可能失效,需谨慎使用,建议段页式索引与业务表放在不同表空间管理
依赖关系
无。