@@ -52,9 +52,9 @@ Projection 9990.00 root planner__core__indexjoin.t.a, Column#4, planner__core__
52
52
└─IndexJoin 9990.00 root inner join, inner:HashAgg, outer key:planner__core__indexjoin.t1.a, inner key:planner__core__indexjoin.t.a, equal cond:eq(planner__core__indexjoin.t1.a, planner__core__indexjoin.t.a)
53
53
├─IndexReader(Build) 9990.00 root index:IndexFullScan
54
54
│ └─IndexFullScan 9990.00 cop[tikv] table:t1, index:idx(a, b) keep order:false, stats:pseudo
55
- └─HashAgg(Probe) 79840080 .00 root group by:planner__core__indexjoin.t.a, funcs:count(Column#8)->Column#4, funcs:firstrow(planner__core__indexjoin.t.a)->planner__core__indexjoin.t.a
56
- └─IndexReader 79840080 .00 root index:HashAgg
57
- └─HashAgg 79840080 .00 cop[tikv] group by:planner__core__indexjoin.t.a, funcs:count(planner__core__indexjoin.t.b)->Column#8
55
+ └─HashAgg(Probe) 9990 .00 root group by:planner__core__indexjoin.t.a, funcs:count(Column#8)->Column#4, funcs:firstrow(planner__core__indexjoin.t.a)->planner__core__indexjoin.t.a
56
+ └─IndexReader 9990 .00 root index:HashAgg
57
+ └─HashAgg 9990 .00 cop[tikv] group by:planner__core__indexjoin.t.a, funcs:count(planner__core__indexjoin.t.b)->Column#8
58
58
└─Selection 9990.00 cop[tikv] not(isnull(planner__core__indexjoin.t.a))
59
59
└─IndexRangeScan 10000.00 cop[tikv] table:t, index:idx(a, b) range: decided by [eq(planner__core__indexjoin.t.a, planner__core__indexjoin.t1.a)], keep order:false, stats:pseudo
60
60
select /*+ INL_JOIN(tmp) */ t1.a, tmp.count_b from (select a, count(b) count_b from t group by a) tmp, t1 where tmp.a=t1.a order by t1.a, tmp.count_b;
@@ -73,9 +73,9 @@ Projection 9980.01 root planner__core__indexjoin.t.a, Column#4, planner__core__
73
73
├─IndexReader(Build) 9980.01 root index:Selection
74
74
│ └─Selection 9980.01 cop[tikv] not(isnull(planner__core__indexjoin.t1.b))
75
75
│ └─IndexFullScan 9990.00 cop[tikv] table:t1, index:idx(a, b) keep order:false, stats:pseudo
76
- └─HashAgg(Probe) 79760239.92 root group by:planner__core__indexjoin.t.a, funcs:count(Column#8)->Column#4, funcs:firstrow(planner__core__indexjoin.t.a)->planner__core__indexjoin.t.a
77
- └─IndexReader 79760239.92 root index:HashAgg
78
- └─HashAgg 79760239.92 cop[tikv] group by:planner__core__indexjoin.t.a, funcs:count(planner__core__indexjoin.t.b)->Column#8
76
+ └─HashAgg(Probe) 9980.01 root group by:planner__core__indexjoin.t.a, funcs:count(Column#8)->Column#4, funcs:firstrow(planner__core__indexjoin.t.a)->planner__core__indexjoin.t.a
77
+ └─IndexReader 9980.01 root index:HashAgg
78
+ └─HashAgg 9980.01 cop[tikv] group by:planner__core__indexjoin.t.a, funcs:count(planner__core__indexjoin.t.b)->Column#8
79
79
└─Selection 9980.01 cop[tikv] not(isnull(planner__core__indexjoin.t.a))
80
80
└─IndexRangeScan 9990.00 cop[tikv] table:t, index:idx(a, b) range: decided by [eq(planner__core__indexjoin.t.a, planner__core__indexjoin.t1.a)], keep order:false, stats:pseudo
81
81
select /*+ INL_JOIN(tmp) */ t1.a, tmp.count_b from (select a, count(b) count_b from t group by a) tmp, t1 where tmp.a=t1.a and tmp.count_b = t1.b order by t1.a, tmp.count_b;
@@ -170,9 +170,9 @@ Projection 9990.00 root planner__core__indexjoin.t3.b, planner__core__indexjoin
170
170
├─TableReader(Build) 9990.00 root data:Selection
171
171
│ └─Selection 9990.00 cop[tikv] not(isnull(planner__core__indexjoin.t4.b))
172
172
│ └─TableFullScan 10000.00 cop[tikv] table:t4 keep order:false, stats:pseudo
173
- └─HashAgg(Probe) 79840080 .00 root group by:planner__core__indexjoin.t3.b, funcs:firstrow(planner__core__indexjoin.t3.b)->planner__core__indexjoin.t3.b
174
- └─IndexReader 79840080 .00 root index:HashAgg
175
- └─HashAgg 79840080 .00 cop[tikv] group by:planner__core__indexjoin.t3.b,
173
+ └─HashAgg(Probe) 9990 .00 root group by:planner__core__indexjoin.t3.b, funcs:firstrow(planner__core__indexjoin.t3.b)->planner__core__indexjoin.t3.b
174
+ └─IndexReader 9990 .00 root index:HashAgg
175
+ └─HashAgg 9990 .00 cop[tikv] group by:planner__core__indexjoin.t3.b,
176
176
└─Selection 9990.00 cop[tikv] not(isnull(planner__core__indexjoin.t3.b))
177
177
└─IndexRangeScan 10000.00 cop[tikv] table:t3, index:idx(b) range: decided by [eq(planner__core__indexjoin.t3.b, planner__core__indexjoin.t4.b)], keep order:false, stats:pseudo
178
178
select /*+ INL_JOIN(tmp) */ tmp.b, t4.b from (select b from t3 group by b) tmp, t4 where tmp.b=t4.b order by tmp.b, t4.b;
@@ -205,9 +205,9 @@ Projection 9990.00 root planner__core__indexjoin.t.a, Column#4, planner__core__
205
205
└─IndexJoin 9990.00 root inner join, inner:StreamAgg, outer key:planner__core__indexjoin.t1.a, inner key:planner__core__indexjoin.t.a, equal cond:eq(planner__core__indexjoin.t1.a, planner__core__indexjoin.t.a)
206
206
├─IndexReader(Build) 9990.00 root index:IndexFullScan
207
207
│ └─IndexFullScan 9990.00 cop[tikv] table:t1, index:idx(a, b) keep order:false, stats:pseudo
208
- └─StreamAgg(Probe) 79840080 .00 root group by:planner__core__indexjoin.t.a, funcs:count(Column#8)->Column#4, funcs:firstrow(planner__core__indexjoin.t.a)->planner__core__indexjoin.t.a
209
- └─IndexReader 79840080 .00 root index:StreamAgg
210
- └─StreamAgg 79840080 .00 cop[tikv] group by:planner__core__indexjoin.t.a, funcs:count(planner__core__indexjoin.t.b)->Column#8
208
+ └─StreamAgg(Probe) 9990 .00 root group by:planner__core__indexjoin.t.a, funcs:count(Column#8)->Column#4, funcs:firstrow(planner__core__indexjoin.t.a)->planner__core__indexjoin.t.a
209
+ └─IndexReader 9990 .00 root index:StreamAgg
210
+ └─StreamAgg 9990 .00 cop[tikv] group by:planner__core__indexjoin.t.a, funcs:count(planner__core__indexjoin.t.b)->Column#8
211
211
└─Selection 9990.00 cop[tikv] not(isnull(planner__core__indexjoin.t.a))
212
212
└─IndexRangeScan 10000.00 cop[tikv] table:t, index:idx(a, b) range: decided by [eq(planner__core__indexjoin.t.a, planner__core__indexjoin.t1.a)], keep order:true, stats:pseudo
213
213
explain format='brief' select /*+ INL_JOIN(tmp) */ * from (select /*+ stream_agg() */ b, a from t group by b, a) tmp, t1 where tmp.a=t1.a;
0 commit comments