| tryFindOptimalShuffleKeyForBothAggChildren(PhysicalHashJoin, PlanContext) |  | 0% |  | 0% | 21 | 21 | 74 | 74 | 1 | 1 |
| chooseBestShuffleKeyFromPartitionExpressions(List, Statistics, double, int) |  | 0% |  | 0% | 9 | 9 | 25 | 25 | 1 | 1 |
| selectOptimalShuffleKeyForAggWithParentHashRequest(PhysicalHashAggregate, Set, PlanContext) |   | 11% |   | 6% | 8 | 9 | 20 | 23 | 0 | 1 |
| computeShuffleKeyScore(ColumnStatistic, double, int, DataType) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| getGlobalAggChildStats(PhysicalHashAggregate) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| getGlobalAggInputStatsFromGroup(Group) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| selectBestShuffleKeyForAgg(PhysicalHashAggregate, List, ConnectContext) |   | 20% |   | 25% | 2 | 3 | 7 | 9 | 0 | 1 |
| getGroupExpression(Group) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| canAggShuffleKeyOpt(PhysicalHashAggregate, ConnectContext) |   | 27% |   | 16% | 3 | 4 | 5 | 7 | 0 | 1 |
| lambda$tryFindOptimalShuffleKeyForBothAggChildren$2(ExprId, Expression) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| lambda$tryFindOptimalShuffleKeyForBothAggChildren$1(ExprId, Expression) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| lambda$getGlobalAggInputStatsFromGroup$0(Plan, Statistics) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| ShuffleKeyPruneUtils() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |