【 TiDB 使用环境】
TiDB集群 v5.1.2
【问题】
根据这篇文档里(https://pingcap.com/zh/blog/tidb-source-code-reading-22)对Stream Aggregation
与Hash Aggregate
的介绍
在agg阶段,确实Stream Aggregation
会十分节约内存,可以从600MB减少至kb级。
但是在hash agg
时,是不需要进行排序的,而Stream Aggregation
需要排序,根据测试,这就导致了原本600MB的内存消耗转嫁到sort
算子上,总的内存消耗未发生变动,但是执行耗时从11秒降低至31秒
所以我该如何正确使用Stream Aggregation
以达到更好的内存控制呢,sort阶段是否也有节约内存的排序方式(从hint语法里并未找到 https://docs.pingcap.com/zh/tidb/stable/optimizer-hints)?