暂无图片
postgresql 库需要定时analyze table吗?
我来答
分享
暂无图片 匿名用户
postgresql 库需要定时analyze table吗?

不然执行计划选择不正确

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
沈克伟

PostgreSQL查询规划器在选择最优路径时,需要参照相关数据表的统计信息用以为查询生成最合理的规划。这些统计是通过ANALYZE命令获得的,与回收空间(VACUUM)一样,对数据更新频繁的表保持一定频度的ANALYZE,从而使该表的统计信息始终处于相对较新的状态,这样对于基于该表的查询优化将是极为有利的。然而对于更新并不频繁的数据表,则不需要执行该操作。

可以根据实际情况,只对更新比较频繁的部分信息执行ANALYZE操作,这样不仅可以节省统计信息所占用的空间,也可以提高本次ANALYZE操作的执行效率。这里需要额外说明的是,ANALYZE是一项相当快的操作,即使是在数据量较大的表上也是如此,因为它使用了统计学上的随机采样的方法进行行采样,而不是把每一行数据都读取进来并进行分析。因此,可以考虑定期对整个数据库执行该命令。

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
宋化鑫
2022-01-15
analyze应该是会占用磁盘的io资源的吧,对于体量比较大的数据库,整库analyze应该还是慎重些吧
回答交流
Markdown


请输入正文
提交
相关推荐
inner join后面7个关联条件,导致的sql性能问题,有没有人指点一下优化思路?
回答 1
已采纳
两个思路。一个是拆分join然后在应用端join二个是看能否延迟关联,比如selectfromainnerjoinbona.idb.idleftjoinconb.idc.idwherea.id1and
postgresql:如何将查询的两个字段合并成一个字段 并将两个字段的值组合成一个数组?
回答 2
参考案例:(postgres@[local])[sbtest]17:18:32createtablet1(c1int,c2int);CREATETABLETime:5.341ms(postgres@[
从oracle迁移到postgresql,表结构不同,如何迁移?
回答 4
已采纳
首先,肯定得映射oracle与postgresql的字段类型。然后你可以采用土办法,从oracle导出表结构,然后人工替换修改。或者你自己写SQL,将建表语句摘出来将类型替换成postgresql对应
postgresql 能不能通过某种方式,忽略其中的条件值?
回答 1
举个例子
windows下安装的postgresql数据库怎么安装闪回的插件?
回答 1
如果必须要在windows下编译插件,需要构建PG的源码编译环境,可以使用MinGW:https://sourceforge.net/projects/mingww64/files/
PostgreSQL可以做时序吗?
回答 3
已采纳
可以的,请参考timescaledb,https://www.modb.pro/db/104428
PG中支持物化视图吗?物化视图可以更新吗?
回答 1
已采纳
PG支持物化视图喔,也可以更新,详情见下方链接:https://www.modb.pro/db/11330关于PG物化视图的刷新参考:https://www.thinbug.com/q/4449672
postgreSQL 想做个数据备份,但是有无效页,怎么办?
回答 1
先尝试修复数据库,然后再进行备份试试呢
怎么查询postgreSQL表空间使用率?
回答 1
我替你问了下度娘https://www.cnblogs.com/liuyuanyuanGOGO/p/3224554.html
pg-awr报告
回答 2
已采纳
pgprofile