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

不然执行计划选择不正确

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

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

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

暂无图片 评论
暂无图片 有用 1
暂无图片
宋化鑫
2022-01-15
analyze应该是会占用磁盘的io资源的吧,对于体量比较大的数据库,整库analyze应该还是慎重些吧
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏