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%告警

相关推荐
承渊政道2 小时前
【MySQL数据库学习】MySQL基本查询(下)
数据库·学习·mysql·leetcode·bash·数据库开发·数据库系统
承渊政道2 天前
【MySQL数据库学习】MySQL基本查询(上)
linux·数据库·学习·mysql·bash·数据库开发·数据库系统
承渊政道8 天前
【MySQL数据库学习】MySQL表的约束(上)
数据库·c++·学习·mysql·bash·数据库架构·数据库系统
承渊政道9 天前
【MySQL数据库学习】(MySQL数据类型)
数据库·学习·mysql·ubuntu·bash·数据库开发·数据库系统
No8g攻城狮15 天前
【人大金仓】人大金仓数据库V9函数 sys.concat()不存在的问题解决方案
数据库·数据库系统·国产信创
承渊政道15 天前
【MySQL数据库学习】(MySQL库的操作和表的操作)
数据库·学习·mysql·ubuntu·bash·数据库架构·数据库系统
承渊政道16 天前
【MySQL数据库学习】(MySQL数据库基础)
数据库·学习·mysql·ubuntu·bash·数据库架构·数据库系统
-To be number.wan25 天前
为什么关系数据库主要采用b+树、散列表来构建索引
数据结构·b树·散列表·数据库系统
码界奇点1 个月前
基于策略模式的多数据源爬虫系统设计与实现
爬虫·python·毕业设计·策略模式·源代码管理·数据库系统
chian-ocean4 个月前
真的能空间零增长?暴力压测 OpenTeleDB 10 万行数据后的几点真心话
架构·数据库系统