加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

PostgreSQL怎样查找需要收集的vacuum表信息

发布时间:2021-10-11 10:14:05 所属栏目:外闻 来源:互联网
导读:这篇文章主要介绍了PostgreSQL 如何查找需要收集的vacuum 表信息,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 前言 通常,在PostgreSQL中

在执行 VACUUM 和 ANYLYZE 期间,系统会维护一个用于估算各种I/O操作所消耗的内部计数器,当该值达到vacuum_cost_limit的值时,该进程会休眠 vacuum_cost_delay 指定的时间,并重置计数器的值,继续运行 VACUM 或者 ANYLYZE 操作

 

vacuum_cost_limit = 200 vacuum_cost_delay = 0 # 单位微秒,默认为 0 没有开启

 

该参数 vacuum_cost_delay 主要用于并发时降低I/O的影响,推荐为10

 

vacuum_cost_page_hit = 1 # 代表从缓存池查找共享的hash table并扫描 该`页`的内容

             #的估计值

vacuum_cost_page_miss = 10   # 0-10000 credits

vacuum_cost_page_dirty = 20

 

 

 

NOTE

 

当一张表中包含了大量数据时,同时进行删除或者更新操作时,VACUUM 并不是最好的方案,

 

如果有该情况,则应该使用 VACUU FULL ,当执行 ALTER TABLE 时,会重新 COPY整

 

个表和重新构建索引,会进行执行锁,临时占用和原始表大小的磁盘空间,直到新数据COPY完成。

 

升级执行计划

 

执行计划通过自己或者 VACUUM调用命令 ANALYZE 收集统计,

 

创建 表达式索引 能够提高查询执行计划

 

1default_statistics_target = 100 #提高查询的 析计划

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读