金仓数据库KingbaseES中的sys_squeeze清理表膨胀功能

关键字:

KingbaseES , sys_squeeze, wal_level

1、sys_squeeze简介

sys_squeeze是KingbaseES的一个扩展插件,该插件提供人工调用命令实现对表dead tuple的清理工作。该插件清理过程中,不会全程加排他锁,因此在插件运行期间不会影响对目标表访问。该插件的实现依赖于逻辑解码,因此使用该插件之前必须保证数据库wal_level等级设置为'logical'。

注:该插件只能清理带主键的表

2、sys_squeeze清理表膨胀操作步骤

2.1、初始化单机数据库,ksql数据库,创建插件,创建成功

2.2、创建一张测试表,并插入数据

2.3、查看该测试表的膨胀率

SELECT

    schemaname||'.'||relname as table_name,

    pg_size_pretty(pg_relation_size(schemaname||'.'||relname)) as table_size,

    n_dead_tup,

    n_live_tup,

    round(n_dead_tup * 100 / (n_live_tup + n_dead_tup),2) AS dead_tup_ratio

FROM

    pg_stat_all_tables

WHERE

    relname = 'a';

2.4、在线修改 wal_level的日志等级

2.5、执行sys_squeeze插件清理表膨胀

select squeeze.squeeze_table('public','a',null,null,null);

#前面两个参数为必选项,后面三个参数为可选

参考资料

1) 《KingbaseES扩展插件参考手册》  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值