暂无图片
postgresql analyze分区表耗时较长
我来答
分享
执剑者
2020-10-30
postgresql analyze分区表耗时较长

有个问题,请教一下各位专家。pg里面有一张分区表,大小6T,采样参数default_statistics_target默认100,但pg_class里面该表的relpages有30多亿。目前,对该表analyze耗时较长,大概每次都需要一个多小时。请问表数据量较大以及统计信息估算值较大的情况下对analyze时间是否有直接影响?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
彭冲

可以试试 1.降低采样比例default_statistics_target, 这个可以对单表或者单列设置 2.analyze降低范围,比如只对频繁修改的列做

暂无图片 评论
暂无图片 有用 0
打赏 0
高云龙

数据量对analyze执行时间肯定有影响的,可以考虑对分区子表做二级分区,细化数据分区范围,并且只分析热数据分区,历史数据分区不需要每次都做

暂无图片 评论
暂无图片 有用 0
打赏 0
彭冲

补充一下楼主的问题描述:
数据库是高斯200,使用的列存表,楼主反馈客户对单个分区做analyze,实际上还是全表analyze(虽然高斯语法上说是支持对分区做analyze)。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgresql如何撤销上一步sql语句命令
回答 1
两种方式:一种类似flashback功能pgdirtyread的插件。https://www.modb.pro/db/42831一种是类似logminer的插件,walminerhttps://www
有没有复杂的Sample Database可下载?
回答 1
已采纳
可以看看mogila示例库,包括了全文检索,分区表,主外键约束,视图等。地址:https://gitee.com/enmotech/mogila
实现postgresql主从自动切换使用keepalived 和 repmgr 哪个更好
回答 1
已采纳
keepalived基本不需要业务层面做任何事情,就可以实现高可用,主备容灾。而且容灾的宕机时间也比较短。但因为VRRP、主备切换都没有什么复杂的逻辑,所以无法应对某些特殊场景,比如主备通信链路出问题
postgreSQL unlogged 不记录wal日志,从库的数据又是通过wal日志来的,为什么unlogged表还是可以在从库查到数据?
回答 1
尽管unlogged表的更改不会被记录在WAL日志中,但PostgreSQL保留了一些元数据信息来确保从库可以正确地重放主库上的更改。这些元数据信息包括unlogged表的元数据、每个事务的开始和结束
postgresql数据库报错:postgresql 9.5 server启动后停止
回答 1
已采纳
这个要具体看日志了。PG另外推荐在linux上源码安装,因为rpm安装都少功能。不建议windows。还有pg都14了,哪怕用13,也别用9了。
pg_filenode.map 这个文件在什么位置??
回答 1
对于PostgreSQL中的每张表在磁盘上都有与之相关的文件,而这些文件的名字便是relfilenode,我们可以通过pgclass的relfilenode字段去查询。selectoid,relnam
autovacuum不能收集哪些类型表的统计信息?
回答 1
在PostgreSQL中,autovacuum进程是自动维护和处理数据库中的重复行、死锁、未使用的索引等问题的关键组件之一。然而,autovacuum进程无法收集以下类型表的统计信息:临时表(Temp
下面这些是共享的还是私有的?
回答 1
1.保存点:私有内存2.其它:共享内存
求助,当前有一个需求,要求把Postgresql数据库中的数据根据dataTime字段按一定的时间间隔获取数据
回答 2
已采纳
使用窗口函数实现,窗口函数的好处是可以使用其他各种汇聚函数。使用彭冲老师的测试表:每10second,一个区间selectdistinctfirstvalue(dt)over(partitionbyf
登录psql报错:could not connect to server:no such file or directory
回答 3
不需要很严谨,不想再改socket路径的话,可以考虑做个软链