GBase 8a
运维管理
问答
GROUP BY 查询报 Memory limit exceeded。长期优化应如何补充统计信息?
发表于2026-04-29 08:53:1318次浏览11个评论
GROUP BY 查询报 Memory limit exceeded。长期优化应如何补充统计信息?
评论
登录后才可以发表评论
GBase用户21182发表于 3个月前
GROUP BY 爆内存,90% 不是真内存不够
GBase用户21182发表于 3个月前
通常是统计信息不准 → 优化器低估行数 → 分配的内存太小 → 运行时爆掉。
GBase用户21182发表于 3个月前
如果 GROUP BY 某个值特别多(比如 1000 万条都是同一个值)--> 统计信息再准也会爆内存。
GBase用户21182发表于 3个月前
直方图能让优化器知道数据倾斜,提前分配更大内存。
GBase用户21182发表于 3个月前
set gbase_memory_limit = '2G';
GBase用户21182发表于 3个月前
GROUP BY 爆内存的长期优化 = 3 件事:
定期 ANALYZE 表(每天自动跑)
对 GROUP BY 字段做列级统计 + 直方图
开启数据库自动统计信息
定期 ANALYZE 表(每天自动跑)
对 GROUP BY 字段做列级统计 + 直方图
开启数据库自动统计信息
曾云林发表于 2个月前
1
曾云林发表于 2个月前
2
曾云林发表于 2个月前
3
曾云林发表于 2个月前
4
曾云林发表于 2个月前
5
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526