vastbase学习-表碎片检查

导致表碎片的原因:频繁删改,自动清理autovacuum无法锁定数据表,表的死元组dead tuple比例过高导致表膨胀,查询出现缓慢的情况。

检查方法:

###查询表膨胀sql语句

select relname,coalesce(round(n_dead_tup * 100 / (case when n_live_tup + n_dead_tup = 0 then null else n_live_tup + n_dead_tup end ),2),0.00) as dead_tup_ratio

from pg_stat_all_tables

where 1=1 and n_dead_tup >=10000

order by dead_tup_ratio desc

limit 10;

处理办法:

sql清理表碎片

vacuum full shcemaname.tablename;

或者 在VDS客户端右键对应的对象,进行分析清理

处理后再次查询表膨胀问题,确认问题是否得到解决。

建议:表膨胀将会影响表的扫描时间,影响SQL执行效率,存在表膨胀现象的表,需要及时清理,检查阈值bloat_pct>50,即膨胀率大于50%告警

相关推荐
java_logo2 天前
PGADMIN4 Docker 容器化部署指南
运维·数据库·docker·postgresql·容器·数据库系统
会洗碗的CV工程师6 天前
Ubuntu22.04下用sysbench压力测试openGauss数据库的实践记录
性能测试·opengauss·数据库系统
爱思德学术1 个月前
中国计算机学会(CCF)推荐学术会议-B(数据库/数据挖掘/内容检索):PODS 2026
数据库·数据分析·数据可视化·数据库系统
SelectDB技术团队2 个月前
Apache Doris 内部数据裁剪与过滤机制的实现原理 | Deep Dive
大数据·数据库·apache·数据库系统·数据裁剪
爱思德学术3 个月前
中国计算机学会(CCF)推荐学术会议-B(数据库/数据挖掘/内容检索):DASFAA 2026
数据库·区块链·数据管理·数据库系统
我命由我123454 个月前
PostgreSQL 保留关键字冲突问题:语法错误 在 “user“ 或附近的 LINE 1: CREATE TABLE user
数据库·后端·sql·mysql·postgresql·问题·数据库系统
数据知道6 个月前
【系统分析师】第5章-基础知识:数据库系统(核心总结)
数据库·数据库系统·系统分析师
敲上瘾7 个月前
MySQL基本查询
数据库·mysql·数据库开发·数据库架构·数据库系统
敲上瘾7 个月前
MySQL数据库表的约束
linux·数据库·sql·mysql·数据库开发·数据库架构·数据库系统