[FEAT MERGE] support auto dop
This commit is contained in:
@ -2430,38 +2430,26 @@ where exists (select /*+ qb_name(x2x) */ 1
|
||||
from nn1 a, nn2 b, nn1 c, nn2 d where a.c1 = b.d1
|
||||
and c.c2 = d.d1) order by x.c1 asc, x.c2 asc, x.c3 desc;
|
||||
Query Plan
|
||||
====================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
--------------------------------------------------------------------
|
||||
|0 |SORT | |11 |5 |
|
||||
|1 |└─SUBPLAN FILTER | |11 |3 |
|
||||
|2 | ├─TABLE FULL SCAN |x |11 |3 |
|
||||
|3 | └─LIMIT | |1 |22 |
|
||||
|4 | └─NESTED-LOOP JOIN CARTESIAN | |1 |22 |
|
||||
|5 | ├─SUBPLAN SCAN |VIEW5|1 |12 |
|
||||
|6 | │ └─LIMIT | |1 |12 |
|
||||
|7 | │ └─UNION ALL | |1 |12 |
|
||||
|8 | │ ├─LIMIT | |1 |6 |
|
||||
|9 | │ │ └─HASH JOIN | |1 |6 |
|
||||
|10| │ │ ├─TABLE FULL SCAN |a |11 |3 |
|
||||
|11| │ │ └─TABLE FULL SCAN |b |1 |2 |
|
||||
|12| │ └─LIMIT | |1 |6 |
|
||||
|13| │ └─HASH JOIN | |1 |6 |
|
||||
|14| │ ├─TABLE FULL SCAN |a |2 |3 |
|
||||
|15| │ └─TABLE FULL SCAN |b |9 |2 |
|
||||
|16| └─MATERIAL | |1 |11 |
|
||||
|17| └─SUBPLAN SCAN |VIEW6|1 |11 |
|
||||
|18| └─LIMIT | |1 |11 |
|
||||
|19| └─UNION ALL | |1 |11 |
|
||||
|20| ├─LIMIT | |1 |5 |
|
||||
|21| │ └─HASH JOIN | |1 |5 |
|
||||
|22| │ ├─TABLE FULL SCAN|a |2 |3 |
|
||||
|23| │ └─TABLE FULL SCAN|b |5 |2 |
|
||||
|24| └─LIMIT | |1 |6 |
|
||||
|25| └─HASH JOIN | |1 |6 |
|
||||
|26| ├─TABLE FULL SCAN|b |11 |3 |
|
||||
|27| └─TABLE FULL SCAN|a |2 |2 |
|
||||
====================================================================
|
||||
==================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
------------------------------------------------------------------
|
||||
|0 |SORT | |11 |16 |
|
||||
|1 |└─SUBPLAN FILTER | |11 |15 |
|
||||
|2 | ├─TABLE FULL SCAN |x |11 |3 |
|
||||
|3 | └─LIMIT | |1 |12 |
|
||||
|4 | └─NESTED-LOOP JOIN CARTESIAN | |1 |12 |
|
||||
|5 | ├─SUBPLAN SCAN |VIEW1|1 |7 |
|
||||
|6 | │ └─LIMIT | |1 |7 |
|
||||
|7 | │ └─HASH JOIN | |1 |7 |
|
||||
|8 | │ ├─TABLE FULL SCAN |b |11 |3 |
|
||||
|9 | │ └─TABLE FULL SCAN |a |4 |2 |
|
||||
|10| └─MATERIAL | |1 |6 |
|
||||
|11| └─SUBPLAN SCAN |VIEW2|1 |6 |
|
||||
|12| └─LIMIT | |1 |6 |
|
||||
|13| └─HASH JOIN | |1 |6 |
|
||||
|14| ├─TABLE FULL SCAN |b |11 |3 |
|
||||
|15| └─TABLE FULL SCAN |a |3 |2 |
|
||||
==================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([x.c1], [x.c2], [x.c3]), filter(nil), rowset=256
|
||||
@ -2478,60 +2466,30 @@ Outputs & filters:
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
5 - output(nil), filter(nil), rowset=256
|
||||
access(nil)
|
||||
6 - output([UNION([1])]), filter(nil), rowset=256
|
||||
6 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
7 - output([UNION([1])]), filter(nil), rowset=256
|
||||
8 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
9 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c1 = b.d1]), other_conds(nil)
|
||||
10 - output([a.c1]), filter(nil), rowset=256
|
||||
access([a.c1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
11 - output([b.d1]), filter(nil), rowset=256
|
||||
7 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c1 = b.d1]), other_conds([a.c1 = b.d1 OR a.c2 = b.d1])
|
||||
8 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
9 - output([a.c1], [a.c2]), filter(nil), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
10 - output(nil), filter(nil), rowset=256
|
||||
11 - output(nil), filter(nil), rowset=256
|
||||
access(nil)
|
||||
12 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
13 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c1 = b.d1]), other_conds([lnnvl(cast(a.c1 = b.d1, TINYINT(-1, 0)))])
|
||||
14 - output([a.c1]), filter([a.c1 = a.c2]), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
15 - output([b.d1]), filter(nil), rowset=256
|
||||
equal_conds([a.c2 = b.d1]), other_conds([a.c1 = b.d1 OR a.c2 = b.d1])
|
||||
14 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
16 - output(nil), filter(nil), rowset=256
|
||||
17 - output(nil), filter(nil), rowset=256
|
||||
access(nil)
|
||||
18 - output([UNION([1])]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
19 - output([UNION([1])]), filter(nil), rowset=256
|
||||
20 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
21 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c2 = b.d1]), other_conds(nil)
|
||||
22 - output([a.c2]), filter([a.c2 = a.c1]), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
23 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
24 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
25 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c2 = b.d1]), other_conds([lnnvl(cast(a.c1 = b.d1, TINYINT(-1, 0)))])
|
||||
26 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
27 - output([a.c1], [a.c2]), filter(nil), rowset=256
|
||||
15 - output([a.c1], [a.c2]), filter(nil), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
@ -2562,38 +2520,26 @@ where exists (select /*+ qb_name(x2x) LEADING(a c b d)*/ 1
|
||||
from nn1 a, nn2 b, nn1 c, nn2 d where a.c1 = b.d1
|
||||
and c.c2 = d.d1) order by x.c1 desc, x.c2 asc, x.c3 desc;
|
||||
Query Plan
|
||||
====================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
--------------------------------------------------------------------
|
||||
|0 |SORT | |11 |5 |
|
||||
|1 |└─SUBPLAN FILTER | |11 |3 |
|
||||
|2 | ├─TABLE FULL SCAN |x |11 |3 |
|
||||
|3 | └─LIMIT | |1 |22 |
|
||||
|4 | └─NESTED-LOOP JOIN CARTESIAN | |1 |22 |
|
||||
|5 | ├─SUBPLAN SCAN |VIEW5|1 |12 |
|
||||
|6 | │ └─LIMIT | |1 |12 |
|
||||
|7 | │ └─UNION ALL | |1 |12 |
|
||||
|8 | │ ├─LIMIT | |1 |6 |
|
||||
|9 | │ │ └─HASH JOIN | |1 |6 |
|
||||
|10| │ │ ├─TABLE FULL SCAN |a |11 |3 |
|
||||
|11| │ │ └─TABLE FULL SCAN |b |1 |2 |
|
||||
|12| │ └─LIMIT | |1 |6 |
|
||||
|13| │ └─HASH JOIN | |1 |6 |
|
||||
|14| │ ├─TABLE FULL SCAN |a |2 |3 |
|
||||
|15| │ └─TABLE FULL SCAN |b |9 |2 |
|
||||
|16| └─MATERIAL | |1 |11 |
|
||||
|17| └─SUBPLAN SCAN |VIEW6|1 |11 |
|
||||
|18| └─LIMIT | |1 |11 |
|
||||
|19| └─UNION ALL | |1 |11 |
|
||||
|20| ├─LIMIT | |1 |5 |
|
||||
|21| │ └─HASH JOIN | |1 |5 |
|
||||
|22| │ ├─TABLE FULL SCAN|a |2 |3 |
|
||||
|23| │ └─TABLE FULL SCAN|b |5 |2 |
|
||||
|24| └─LIMIT | |1 |6 |
|
||||
|25| └─HASH JOIN | |1 |6 |
|
||||
|26| ├─TABLE FULL SCAN|b |11 |3 |
|
||||
|27| └─TABLE FULL SCAN|a |2 |2 |
|
||||
====================================================================
|
||||
==================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
------------------------------------------------------------------
|
||||
|0 |SORT | |11 |16 |
|
||||
|1 |└─SUBPLAN FILTER | |11 |15 |
|
||||
|2 | ├─TABLE FULL SCAN |x |11 |3 |
|
||||
|3 | └─LIMIT | |1 |12 |
|
||||
|4 | └─NESTED-LOOP JOIN CARTESIAN | |1 |12 |
|
||||
|5 | ├─SUBPLAN SCAN |VIEW1|1 |7 |
|
||||
|6 | │ └─LIMIT | |1 |7 |
|
||||
|7 | │ └─HASH JOIN | |1 |7 |
|
||||
|8 | │ ├─TABLE FULL SCAN |b |11 |3 |
|
||||
|9 | │ └─TABLE FULL SCAN |a |4 |2 |
|
||||
|10| └─MATERIAL | |1 |6 |
|
||||
|11| └─SUBPLAN SCAN |VIEW2|1 |6 |
|
||||
|12| └─LIMIT | |1 |6 |
|
||||
|13| └─HASH JOIN | |1 |6 |
|
||||
|14| ├─TABLE FULL SCAN |b |11 |3 |
|
||||
|15| └─TABLE FULL SCAN |a |3 |2 |
|
||||
==================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([x.c1], [x.c2], [x.c3]), filter(nil), rowset=256
|
||||
@ -2610,60 +2556,30 @@ Outputs & filters:
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
5 - output(nil), filter(nil), rowset=256
|
||||
access(nil)
|
||||
6 - output([UNION([1])]), filter(nil), rowset=256
|
||||
6 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
7 - output([UNION([1])]), filter(nil), rowset=256
|
||||
8 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
9 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c1 = b.d1]), other_conds(nil)
|
||||
10 - output([a.c1]), filter(nil), rowset=256
|
||||
access([a.c1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
11 - output([b.d1]), filter(nil), rowset=256
|
||||
7 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c1 = b.d1]), other_conds([a.c1 = b.d1 OR a.c2 = b.d1])
|
||||
8 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
9 - output([a.c1], [a.c2]), filter(nil), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
10 - output(nil), filter(nil), rowset=256
|
||||
11 - output(nil), filter(nil), rowset=256
|
||||
access(nil)
|
||||
12 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
13 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c1 = b.d1]), other_conds([lnnvl(cast(a.c1 = b.d1, TINYINT(-1, 0)))])
|
||||
14 - output([a.c1]), filter([a.c1 = a.c2]), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
15 - output([b.d1]), filter(nil), rowset=256
|
||||
equal_conds([a.c2 = b.d1]), other_conds([a.c1 = b.d1 OR a.c2 = b.d1])
|
||||
14 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
16 - output(nil), filter(nil), rowset=256
|
||||
17 - output(nil), filter(nil), rowset=256
|
||||
access(nil)
|
||||
18 - output([UNION([1])]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
19 - output([UNION([1])]), filter(nil), rowset=256
|
||||
20 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
21 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c2 = b.d1]), other_conds(nil)
|
||||
22 - output([a.c2]), filter([a.c2 = a.c1]), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
23 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
24 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
25 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c2 = b.d1]), other_conds([lnnvl(cast(a.c1 = b.d1, TINYINT(-1, 0)))])
|
||||
26 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
27 - output([a.c1], [a.c2]), filter(nil), rowset=256
|
||||
15 - output([a.c1], [a.c2]), filter(nil), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
@ -2694,38 +2610,26 @@ where exists (select /*+ qb_name(x3x) */ 1
|
||||
from nn1 a, nn2 b, nn1 c, nn2 d where a.c1 = b.d1
|
||||
and c.c2 = d.d1) order by x.c1 desc, x.c3 desc, x.c2 asc ;
|
||||
Query Plan
|
||||
====================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
--------------------------------------------------------------------
|
||||
|0 |SORT | |11 |5 |
|
||||
|1 |└─SUBPLAN FILTER | |11 |3 |
|
||||
|2 | ├─TABLE FULL SCAN |x |11 |3 |
|
||||
|3 | └─LIMIT | |1 |22 |
|
||||
|4 | └─NESTED-LOOP JOIN CARTESIAN | |1 |22 |
|
||||
|5 | ├─SUBPLAN SCAN |VIEW5|1 |12 |
|
||||
|6 | │ └─LIMIT | |1 |12 |
|
||||
|7 | │ └─UNION ALL | |1 |12 |
|
||||
|8 | │ ├─LIMIT | |1 |6 |
|
||||
|9 | │ │ └─HASH JOIN | |1 |6 |
|
||||
|10| │ │ ├─TABLE FULL SCAN |a |11 |3 |
|
||||
|11| │ │ └─TABLE FULL SCAN |b |1 |2 |
|
||||
|12| │ └─LIMIT | |1 |6 |
|
||||
|13| │ └─HASH JOIN | |1 |6 |
|
||||
|14| │ ├─TABLE FULL SCAN |a |2 |3 |
|
||||
|15| │ └─TABLE FULL SCAN |b |9 |2 |
|
||||
|16| └─MATERIAL | |1 |11 |
|
||||
|17| └─SUBPLAN SCAN |VIEW6|1 |11 |
|
||||
|18| └─LIMIT | |1 |11 |
|
||||
|19| └─UNION ALL | |1 |11 |
|
||||
|20| ├─LIMIT | |1 |5 |
|
||||
|21| │ └─HASH JOIN | |1 |5 |
|
||||
|22| │ ├─TABLE FULL SCAN|a |2 |3 |
|
||||
|23| │ └─TABLE FULL SCAN|b |5 |2 |
|
||||
|24| └─LIMIT | |1 |6 |
|
||||
|25| └─HASH JOIN | |1 |6 |
|
||||
|26| ├─TABLE FULL SCAN|b |11 |3 |
|
||||
|27| └─TABLE FULL SCAN|a |2 |2 |
|
||||
====================================================================
|
||||
==================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
------------------------------------------------------------------
|
||||
|0 |SORT | |11 |17 |
|
||||
|1 |└─SUBPLAN FILTER | |11 |15 |
|
||||
|2 | ├─TABLE FULL SCAN |x |11 |3 |
|
||||
|3 | └─LIMIT | |1 |12 |
|
||||
|4 | └─NESTED-LOOP JOIN CARTESIAN | |1 |12 |
|
||||
|5 | ├─SUBPLAN SCAN |VIEW1|1 |7 |
|
||||
|6 | │ └─LIMIT | |1 |7 |
|
||||
|7 | │ └─HASH JOIN | |1 |7 |
|
||||
|8 | │ ├─TABLE FULL SCAN |b |11 |3 |
|
||||
|9 | │ └─TABLE FULL SCAN |a |4 |2 |
|
||||
|10| └─MATERIAL | |1 |6 |
|
||||
|11| └─SUBPLAN SCAN |VIEW2|1 |6 |
|
||||
|12| └─LIMIT | |1 |6 |
|
||||
|13| └─HASH JOIN | |1 |6 |
|
||||
|14| ├─TABLE FULL SCAN |b |11 |3 |
|
||||
|15| └─TABLE FULL SCAN |a |3 |2 |
|
||||
==================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([x.c1], [x.c2], [x.c3]), filter(nil), rowset=256
|
||||
@ -2742,60 +2646,30 @@ Outputs & filters:
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
5 - output(nil), filter(nil), rowset=256
|
||||
access(nil)
|
||||
6 - output([UNION([1])]), filter(nil), rowset=256
|
||||
6 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
7 - output([UNION([1])]), filter(nil), rowset=256
|
||||
8 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
9 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c1 = b.d1]), other_conds(nil)
|
||||
10 - output([a.c1]), filter(nil), rowset=256
|
||||
access([a.c1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
11 - output([b.d1]), filter(nil), rowset=256
|
||||
7 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c1 = b.d1]), other_conds([a.c1 = b.d1 OR a.c2 = b.d1])
|
||||
8 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
9 - output([a.c1], [a.c2]), filter(nil), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
10 - output(nil), filter(nil), rowset=256
|
||||
11 - output(nil), filter(nil), rowset=256
|
||||
access(nil)
|
||||
12 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
13 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c1 = b.d1]), other_conds([lnnvl(cast(a.c1 = b.d1, TINYINT(-1, 0)))])
|
||||
14 - output([a.c1]), filter([a.c1 = a.c2]), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
15 - output([b.d1]), filter(nil), rowset=256
|
||||
equal_conds([a.c2 = b.d1]), other_conds([a.c1 = b.d1 OR a.c2 = b.d1])
|
||||
14 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
16 - output(nil), filter(nil), rowset=256
|
||||
17 - output(nil), filter(nil), rowset=256
|
||||
access(nil)
|
||||
18 - output([UNION([1])]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
19 - output([UNION([1])]), filter(nil), rowset=256
|
||||
20 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
21 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c2 = b.d1]), other_conds(nil)
|
||||
22 - output([a.c2]), filter([a.c2 = a.c1]), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
23 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
24 - output([1]), filter(nil), rowset=256
|
||||
limit(1), offset(nil)
|
||||
25 - output(nil), filter(nil), rowset=256
|
||||
equal_conds([a.c2 = b.d1]), other_conds([lnnvl(cast(a.c1 = b.d1, TINYINT(-1, 0)))])
|
||||
26 - output([b.d1]), filter(nil), rowset=256
|
||||
access([b.d1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.__pk_increment]), range(MIN ; MAX)always true
|
||||
27 - output([a.c1], [a.c2]), filter(nil), rowset=256
|
||||
15 - output([a.c1], [a.c2]), filter(nil), rowset=256
|
||||
access([a.c1], [a.c2]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.__pk_increment]), range(MIN ; MAX)always true
|
||||
|
||||
@ -6192,8 +6192,8 @@ Query Plan
|
||||
|2 | └─PX PARTITION ITERATOR | |1 |45 |
|
||||
|3 | └─NESTED-LOOP SEMI JOIN | |1 |45 |
|
||||
|4 | ├─TABLE FULL SCAN |t1 |1 |42 |
|
||||
|5 | └─SUBPLAN SCAN |VIEW2 |1 |437 |
|
||||
|6 | └─NESTED-LOOP JOIN | |1 |437 |
|
||||
|5 | └─SUBPLAN SCAN |VIEW2 |1 |54 |
|
||||
|6 | └─NESTED-LOOP JOIN | |1 |54 |
|
||||
|7 | ├─SUBPLAN SCAN |VIEW3 |1 |42 |
|
||||
|8 | │ └─MERGE DISTINCT | |1 |42 |
|
||||
|9 | │ └─TABLE FULL SCAN|t3 |1 |42 |
|
||||
@ -6969,7 +6969,7 @@ Query Plan
|
||||
|2 | └─HASH JOIN | |1 |36 |
|
||||
|3 | ├─EXCHANGE IN DISTR | |1 |27 |
|
||||
|4 | │ └─EXCHANGE OUT DISTR (PKEY) |:EX10001|1 |27 |
|
||||
|5 | │ └─SUBPLAN SCAN |t4 |1 |26 |
|
||||
|5 | │ └─SUBPLAN SCAN |t4 |1 |27 |
|
||||
|6 | │ └─HASH DISTINCT | |1 |26 |
|
||||
|7 | │ └─EXCHANGE IN DISTR | |1 |26 |
|
||||
|8 | │ └─EXCHANGE OUT DISTR (HASH) |:EX10000|1 |26 |
|
||||
@ -9190,7 +9190,7 @@ Query Plan
|
||||
|0 |PX COORDINATOR | |1 |30 |
|
||||
|1 |└─EXCHANGE OUT DISTR |:EX10003|1 |30 |
|
||||
|2 | └─HASH JOIN | |1 |28 |
|
||||
|3 | ├─EXCHANGE IN DISTR | |1 |19 |
|
||||
|3 | ├─EXCHANGE IN DISTR | |1 |20 |
|
||||
|4 | │ └─EXCHANGE OUT DISTR (PKEY) |:EX10002|1 |19 |
|
||||
|5 | │ └─SUBPLAN SCAN |t4 |1 |19 |
|
||||
|6 | │ └─HASH EXCEPT DISTINCT | |1 |19 |
|
||||
|
||||
@ -750,14 +750,14 @@ Query Plan
|
||||
------------------------------------------------------------------------
|
||||
|0 |SORT | |21 |62 |
|
||||
|1 |└─HASH UNION DISTINCT | |21 |58 |
|
||||
|2 | ├─PX COORDINATOR | |11 |26 |
|
||||
|2 | ├─PX COORDINATOR | |11 |27 |
|
||||
|3 | │ └─EXCHANGE OUT DISTR |:EX10000 |11 |21 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |11 |9 |
|
||||
|5 | │ └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |9 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |11 |10 |
|
||||
|5 | │ └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |10 |
|
||||
|6 | └─PX COORDINATOR | |10 |25 |
|
||||
|7 | └─EXCHANGE OUT DISTR |:EX20000 |10 |20 |
|
||||
|8 | └─PX PARTITION ITERATOR| |10 |9 |
|
||||
|9 | └─TABLE RANGE SCAN |t7(idx_t7_c2c1)|10 |9 |
|
||||
|8 | └─PX PARTITION ITERATOR| |10 |10 |
|
||||
|9 | └─TABLE RANGE SCAN |t7(idx_t7_c2c1)|10 |10 |
|
||||
========================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
@ -808,22 +808,22 @@ Query Plan
|
||||
============================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
----------------------------------------------------------------------------
|
||||
|0 |SORT | |11 |77 |
|
||||
|1 |└─HASH JOIN | |11 |76 |
|
||||
|0 |SORT | |11 |78 |
|
||||
|1 |└─HASH JOIN | |11 |77 |
|
||||
|2 | ├─PX COORDINATOR | |11 |15 |
|
||||
|3 | │ └─EXCHANGE OUT DISTR |:EX10000 |11 |13 |
|
||||
|4 | │ └─PX PARTITION ITERATOR | |11 |9 |
|
||||
|5 | │ └─TABLE FULL SCAN |yy(idx_t7_c2c1)|11 |9 |
|
||||
|6 | └─SUBPLAN SCAN |xx |21 |58 |
|
||||
|7 | └─HASH UNION DISTINCT | |21 |58 |
|
||||
|8 | ├─PX COORDINATOR | |11 |26 |
|
||||
|8 | ├─PX COORDINATOR | |11 |27 |
|
||||
|9 | │ └─EXCHANGE OUT DISTR |:EX20000 |11 |21 |
|
||||
|10| │ └─PX PARTITION ITERATOR| |11 |9 |
|
||||
|11| │ └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |9 |
|
||||
|10| │ └─PX PARTITION ITERATOR| |11 |10 |
|
||||
|11| │ └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |10 |
|
||||
|12| └─PX COORDINATOR | |10 |25 |
|
||||
|13| └─EXCHANGE OUT DISTR |:EX30000 |10 |20 |
|
||||
|14| └─PX PARTITION ITERATOR| |10 |9 |
|
||||
|15| └─TABLE RANGE SCAN |t7(idx_t7_c2c1)|10 |9 |
|
||||
|14| └─PX PARTITION ITERATOR| |10 |10 |
|
||||
|15| └─TABLE RANGE SCAN |t7(idx_t7_c2c1)|10 |10 |
|
||||
============================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
@ -894,15 +894,15 @@ Query Plan
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
------------------------------------------------------------------------
|
||||
|0 |SORT | |22 |64 |
|
||||
|1 |└─HASH UNION DISTINCT | |22 |59 |
|
||||
|2 | ├─PX COORDINATOR | |11 |26 |
|
||||
|1 |└─HASH UNION DISTINCT | |22 |60 |
|
||||
|2 | ├─PX COORDINATOR | |11 |27 |
|
||||
|3 | │ └─EXCHANGE OUT DISTR |:EX10000 |11 |21 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |11 |9 |
|
||||
|5 | │ └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |9 |
|
||||
|6 | └─PX COORDINATOR | |11 |26 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |11 |10 |
|
||||
|5 | │ └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |10 |
|
||||
|6 | └─PX COORDINATOR | |11 |27 |
|
||||
|7 | └─EXCHANGE OUT DISTR |:EX20000 |11 |21 |
|
||||
|8 | └─PX PARTITION ITERATOR| |11 |9 |
|
||||
|9 | └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |9 |
|
||||
|8 | └─PX PARTITION ITERATOR| |11 |10 |
|
||||
|9 | └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |10 |
|
||||
========================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
@ -948,8 +948,8 @@ Query Plan
|
||||
========================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
------------------------------------------------------------------------
|
||||
|0 |SORT | |22 |39 |
|
||||
|1 |└─HASH UNION DISTINCT | |22 |34 |
|
||||
|0 |SORT | |22 |40 |
|
||||
|1 |└─HASH UNION DISTINCT | |22 |35 |
|
||||
|2 | ├─PX COORDINATOR | |11 |15 |
|
||||
|3 | │ └─EXCHANGE OUT DISTR |:EX10000 |11 |13 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |11 |9 |
|
||||
@ -1002,15 +1002,15 @@ Query Plan
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
------------------------------------------------------------------------
|
||||
|0 |SORT | |22 |66 |
|
||||
|1 |└─HASH UNION DISTINCT | |22 |59 |
|
||||
|2 | ├─PX COORDINATOR | |11 |26 |
|
||||
|1 |└─HASH UNION DISTINCT | |22 |60 |
|
||||
|2 | ├─PX COORDINATOR | |11 |27 |
|
||||
|3 | │ └─EXCHANGE OUT DISTR |:EX10000 |11 |21 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |11 |9 |
|
||||
|5 | │ └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |9 |
|
||||
|6 | └─PX COORDINATOR | |11 |26 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |11 |10 |
|
||||
|5 | │ └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |10 |
|
||||
|6 | └─PX COORDINATOR | |11 |27 |
|
||||
|7 | └─EXCHANGE OUT DISTR |:EX20000 |11 |21 |
|
||||
|8 | └─PX PARTITION ITERATOR| |11 |9 |
|
||||
|9 | └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |9 |
|
||||
|8 | └─PX PARTITION ITERATOR| |11 |10 |
|
||||
|9 | └─TABLE FULL SCAN |t7(idx_t7_c2c1)|11 |10 |
|
||||
========================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
@ -1084,11 +1084,11 @@ Query Plan
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
----------------------------------------------------------------------------
|
||||
|0 |SORT | |20 |39 |
|
||||
|1 |└─HASH UNION DISTINCT | |20 |33 |
|
||||
|1 |└─HASH UNION DISTINCT | |20 |34 |
|
||||
|2 | ├─PX COORDINATOR | |10 |25 |
|
||||
|3 | │ └─EXCHANGE OUT DISTR |:EX10000 |10 |20 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |10 |9 |
|
||||
|5 | │ └─TABLE RANGE SCAN |t7(idx_t7_c3c2c1) |10 |9 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |10 |10 |
|
||||
|5 | │ └─TABLE RANGE SCAN |t7(idx_t7_c3c2c1) |10 |10 |
|
||||
|6 | └─TABLE RANGE SCAN |t72(idx_t72_c3c2c1)|10 |3 |
|
||||
============================================================================
|
||||
Outputs & filters:
|
||||
@ -1134,11 +1134,11 @@ Query Plan
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
----------------------------------------------------------------------------
|
||||
|0 |SORT | |20 |37 |
|
||||
|1 |└─HASH UNION DISTINCT | |20 |33 |
|
||||
|1 |└─HASH UNION DISTINCT | |20 |34 |
|
||||
|2 | ├─PX COORDINATOR | |10 |25 |
|
||||
|3 | │ └─EXCHANGE OUT DISTR |:EX10000 |10 |20 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |10 |9 |
|
||||
|5 | │ └─TABLE RANGE SCAN |t7(idx_t7_c3c2c1) |10 |9 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |10 |10 |
|
||||
|5 | │ └─TABLE RANGE SCAN |t7(idx_t7_c3c2c1) |10 |10 |
|
||||
|6 | └─TABLE RANGE SCAN |t72(idx_t72_c3c2c1)|10 |3 |
|
||||
============================================================================
|
||||
Outputs & filters:
|
||||
@ -1186,11 +1186,11 @@ Query Plan
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
----------------------------------------------------------------------------
|
||||
|0 |SORT | |20 |39 |
|
||||
|1 |└─HASH UNION DISTINCT | |20 |33 |
|
||||
|1 |└─HASH UNION DISTINCT | |20 |34 |
|
||||
|2 | ├─PX COORDINATOR | |10 |25 |
|
||||
|3 | │ └─EXCHANGE OUT DISTR |:EX10000 |10 |20 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |10 |9 |
|
||||
|5 | │ └─TABLE RANGE SCAN |t7(idx_t7_c3c2c1) |10 |9 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |10 |10 |
|
||||
|5 | │ └─TABLE RANGE SCAN |t7(idx_t7_c3c2c1) |10 |10 |
|
||||
|6 | └─TABLE RANGE SCAN |t72(idx_t72_c3c2c1)|10 |3 |
|
||||
============================================================================
|
||||
Outputs & filters:
|
||||
@ -1236,11 +1236,11 @@ Query Plan
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
----------------------------------------------------------------------------
|
||||
|0 |SORT | |20 |37 |
|
||||
|1 |└─HASH UNION DISTINCT | |20 |33 |
|
||||
|1 |└─HASH UNION DISTINCT | |20 |34 |
|
||||
|2 | ├─PX COORDINATOR | |10 |25 |
|
||||
|3 | │ └─EXCHANGE OUT DISTR |:EX10000 |10 |20 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |10 |9 |
|
||||
|5 | │ └─TABLE RANGE SCAN |t7(idx_t7_c3c2c1) |10 |9 |
|
||||
|4 | │ └─PX PARTITION ITERATOR| |10 |10 |
|
||||
|5 | │ └─TABLE RANGE SCAN |t7(idx_t7_c3c2c1) |10 |10 |
|
||||
|6 | └─TABLE RANGE SCAN |t72(idx_t72_c3c2c1)|10 |3 |
|
||||
============================================================================
|
||||
Outputs & filters:
|
||||
@ -1833,12 +1833,12 @@ Query Plan
|
||||
===============================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-------------------------------------------------------------------------------
|
||||
|0 |SORT | |1 |31 |
|
||||
|1 |└─SUBPLAN SCAN |TUT |1 |31 |
|
||||
|2 | └─MERGE UNION DISTINCT | |1 |31 |
|
||||
|0 |SORT | |1 |35 |
|
||||
|1 |└─SUBPLAN SCAN |TUT |6 |33 |
|
||||
|2 | └─MERGE UNION DISTINCT | |6 |33 |
|
||||
|3 | ├─TABLE FULL SCAN |table2_bigint(Reverse)|5 |4 |
|
||||
|4 | └─SORT | |1 |26 |
|
||||
|5 | └─MERGE UNION DISTINCT | |1 |26 |
|
||||
|4 | └─SORT | |1 |28 |
|
||||
|5 | └─MERGE UNION DISTINCT | |6 |26 |
|
||||
|6 | ├─TABLE GET |table2_bigint |5 |16 |
|
||||
|7 | └─SORT | |1 |9 |
|
||||
|8 | └─TOP-N SORT | |1 |8 |
|
||||
|
||||
Reference in New Issue
Block a user