作者
digoal
日期
2020-08-26
标签
PostgreSQL , 优化
背景
德哥,请教一下问题:PG库碰到有时慢的情况(select count(主键列)from 表名) 要5分钟才出结果,数据量有1500W左右,现在想获取慢的时侯具体信息,您之前写的blog中有介绍这一块的内容吗?如果有,关键词是什么?
回复:
可能是计划、资源、锁、脏数据等相关的问题
特别是io,或者并行计算时的cpu资源。极少的可能是锁冲突
auto explain 开起来跟踪一下(包括执行计划、io timing等)
数据库优化的部分有讲过:
《2019-PostgreSQL 2天体系化培训 - 视频每周更新》
《PostgreSQL 函数调试、诊断、优化 & auto_explain & plprofiler》
auto_explain只能跟踪到单一sql, 如果要看当时执行过程中的环境问题, 可以结合perf insight的方法来看, 间歇性采集会话状态的信息.
《PostgreSQL 活跃会话历史记录插件 - pgsentinel 类似performance insight》
《PostgreSQL Oracle 兼容性之 - performance insight - AWS performance insight 理念与实现解读 - 珍藏级》
PostgreSQL 许愿链接
您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.