多group by 字段导致Out of Memory Quota

【TiDB 版本】 tidb5.0.0

【使用场景】
对一张约5亿行数据的表进行较多个维度分组汇总,并分页查询出汇总的结果

【问题描述】
如果分组的维度较少,tidb可以查询出来,如果维度较多,则出现 Out of Memory Quota的情况,如果将tidb_mem_quota_query设置较大,则可以查出,但是使用时间过长。

【问题截图】
group by 多字段导致 oom
%E5%9B%BE%E7%89%87

tidb_mem_quota_query 参数控制单条使用内存大小,防止 tidb server 因为非预期的使用内存而导致 OOM。
如果有此场景查询加速需求,可以尝试使用 tiflash 来加速查询。将 group by 下推到列存来进行加速

已经使用了tiflash,也用/*+ MEMORY_QUOTA(32 GB) */来控制内存大小了,但是groupby字段因为是动态的,如果过多的groupby就还是会oom