OceanBase 3.x/4.x 大表 GROUP BY 频繁报内存超限,统计信息如何长效优化?

生产使用 OceanBase 4.0,业务大表做分组聚合查询时,经常触发内存配额超出限制。临时调大 SQL 内存参数能应急,但过段时间又复现。

想请教几个问题:

  1. OB 中如何对大表、GROUP BY 分组字段精准采集更新统计信息
  2. 存在数据倾斜的分组字段,是否需要手动建直方图优化代价估算?
  3. OceanBase 适合配置什么样的自动收集统计信息策略,避免统计陈旧导致执行计划不准、内存预估偏小?
  4. 除了更新统计信息、调大内存配额,还有哪些架构或 SQL 层面的长效优化方案?
2 个赞

你的memory_limit是多少啊,我觉得本质还是资源不足的问题,就是内存太小了,OB对内存资源还是比较高的。

语句? 报错信息?

点赞学习

坚持学习, :+1: :+1: :+1: :+1: :+1:

可以尝试增加租户内存