大表count非常慢

数据库版本:openGauss-5.0.3
驱动版本:opengauss-jdbc-5.0.3-og.jar

一张大的列存表数据量超过8亿,按照日期字段分区,每天一个分区,保留30天,每天大约有3千万数据。

有一个统计表内某天数据量的场景,springboot项目中使用mybatis调用count()查询会卡住,执行1-2个小时都不会出结果。按道理来说count查询的条件带有日期,能触发分区裁剪,仅统计一个分区的数据量。使用Dbeaver中的PG数据库连接同一个openGauss,执行同样的查询仅4秒。Dbeaver中使用explain获取执行计划,分区裁剪是正确的。 通过 pg_stat_activity视图看到的count()一直存在,可以排除应用问题。 有没有大佬能帮忙分析一下?

可以试下执行vacuum看能不能提升性能,如果不能,可以尝试把具体执行计划和sql呈现出来,在社区详细描述个issue,安排开发老师一起分析下

[Bug]: 相同条件下opengauss的执行性能比pg慢很多-openGauss-server-AtomGit | GitCode

试下加个hint /*+use_cplan*/,mybatis里应该用了绑定变量,可能动态分区裁剪有问题,只能用静态分区裁剪