PG如何降低表统计信息延时更新产生性能问题的几率?

表结构:ida intidb intname varchar(20)info text存在SQL:select * from scott where ida=? and idb=?select * from scott where ida=?select * from scott where idb=?存在索引:ind_ida(ida)ind_idb(idb)数据分布:表 1000000 rowsida不同值个数1000idb不同值个数900sql...显示全部

表结构:
ida int
idb int
name varchar(20)
info text

存在SQL:
select * from scott where ida=? and idb=?
select * from scott where ida=?
select * from scott where idb=?

存在索引:
ind_ida(ida)
ind_idb(idb)

数据分布:
表 1000000 rows
ida不同值个数1000
idb不同值个数900

sql执行计划:
select * from scott where ida=? and idb=?    --使用索引:ind_ida

场景一:
当再次插入90000条记录,ida不同值个数未发生变化,idb不同值个数为90900,但统计信息未触发更新阈值autovacuum_analyze_scale_factor,SQL仍使用原执行计划,导致数据库出现性能瓶颈

提问:基于此类场景有何优化措施能避免或尽量降低对数据库的影响?

收起
参与5

返回jillme的回答

jillmejillme课题专家组CIO某大型银行

这个的 我这边是从应用中控制的,写入数据量很多时候 手工进行一次统计信息收集

互联网服务 · 2023-03-31

回答者

jillme
CIO某大型银行

jillme 最近回答过的问题

回答状态

  • 发布时间:2023-03-31
  • 关注会员:2 人
  • 回答浏览:626
  • X社区推广