[FEAT MERGE]优化器技改patch到432

Co-authored-by: jingtaoye35 <1255153887@qq.com>
Co-authored-by: qingzhu521 <q15000557748@gmail.com>
Co-authored-by: akaError <lzg020616@163.com>
This commit is contained in:
zzg19950727
2024-06-18 02:23:55 +00:00
committed by ob-robot
parent 4d5b5ec653
commit b81b1efd98
117 changed files with 6600 additions and 948 deletions

View File

@ -873,19 +873,19 @@ Query Plan
==============================================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
------------------------------------------------------------------------------
|0 |SCALAR GROUP BY | |1 |15 |
|1 |└─MERGE ANTI JOIN | |9 |15 |
|0 |SCALAR GROUP BY | |1 |17 |
|1 |└─MERGE ANTI JOIN | |9 |17 |
|2 | ├─TABLE FULL SCAN |table10_bigint |10 |3 |
|3 | └─SUBPLAN SCAN |VIEW3 |1 |12 |
|4 | └─MERGE ANTI JOIN | |1 |12 |
|3 | └─SUBPLAN SCAN |VIEW3 |1 |14 |
|4 | └─MERGE ANTI JOIN | |1 |14 |
|5 | ├─TABLE FULL SCAN |table2_bigint |2 |3 |
|6 | └─SORT | |2 |9 |
|7 | └─SUBPLAN SCAN |VIEW2 |2 |9 |
|8 | └─NESTED-LOOP JOIN | |2 |9 |
|9 | ├─SUBPLAN SCAN |VIEW4 |1 |3 |
|10| │ └─SCALAR GROUP BY | |1 |3 |
|11| │ └─SUBPLAN SCAN |VIEW1 |1 |3 |
|12| │ └─TABLE FULL SCAN|table100_bigint|1 |3 |
|6 | └─SORT | |2 |12 |
|7 | └─SUBPLAN SCAN |VIEW2 |2 |12 |
|8 | └─NESTED-LOOP JOIN | |2 |12 |
|9 | ├─SUBPLAN SCAN |VIEW4 |1 |5 |
|10| │ └─SCALAR GROUP BY | |1 |5 |
|11| │ └─SUBPLAN SCAN |VIEW1 |1 |5 |
|12| │ └─TABLE FULL SCAN|table100_bigint|1 |5 |
|13| └─TABLE FULL SCAN |table100_bigint|100 |4 |
==============================================================================
Outputs & filters:
@ -939,20 +939,20 @@ Query Plan
==================================================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
----------------------------------------------------------------------------------
|0 |SUBPLAN FILTER | |1 |17 |
|1 |├─SUBPLAN SCAN |VIEW5 |1 |15 |
|2 |│ └─SCALAR GROUP BY | |1 |15 |
|3 |│ └─MERGE ANTI JOIN | |9 |15 |
|0 |SUBPLAN FILTER | |1 |22 |
|1 |├─SUBPLAN SCAN |VIEW5 |1 |20 |
|2 |│ └─SCALAR GROUP BY | |1 |20 |
|3 |│ └─MERGE ANTI JOIN | |9 |19 |
|4 |│ ├─TABLE FULL SCAN |table10_bigint |10 |3 |
|5 |│ └─SORT | |1 |12 |
|6 |│ └─SUBPLAN SCAN |VIEW3 |1 |12 |
|7 |│ └─HASH RIGHT ANTI JOIN NA | |1 |12 |
|8 |│ ├─SUBPLAN SCAN |VIEW2 |1 |9 |
|9 |│ │ └─NESTED-LOOP JOIN | |1 |9 |
|10|│ │ ├─SUBPLAN SCAN |VIEW4 |1 |3 |
|11|│ │ │ └─SCALAR GROUP BY | |1 |3 |
|12|│ │ │ └─SUBPLAN SCAN |VIEW1 |1 |3 |
|13|│ │ │ └─TABLE FULL SCAN|table100_bigint|1 |3 |
|5 |│ └─SORT | |1 |16 |
|6 |│ └─SUBPLAN SCAN |VIEW3 |1 |16 |
|7 |│ └─HASH RIGHT ANTI JOIN NA | |1 |16 |
|8 |│ ├─SUBPLAN SCAN |VIEW2 |1 |14 |
|9 |│ │ └─NESTED-LOOP JOIN | |1 |14 |
|10|│ │ ├─SUBPLAN SCAN |VIEW4 |1 |7 |
|11|│ │ │ └─SCALAR GROUP BY | |1 |7 |
|12|│ │ │ └─SUBPLAN SCAN |VIEW1 |1 |7 |
|13|│ │ │ └─TABLE FULL SCAN|table100_bigint|1 |7 |
|14|│ │ └─TABLE FULL SCAN |table100_bigint|100 |4 |
|15|│ └─TABLE FULL SCAN |table2_bigint |2 |3 |
|16|└─TOP-N SORT | |1 |3 |

View File

@ -197,35 +197,48 @@ explain select 1 from t2 where
c2 in (select 1 from t3, t2) and
c1 in (select convert(c6,char(1)) from t2);
Query Plan
==============================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
--------------------------------------------------------------
|0 |HASH SEMI JOIN | |1 |5 |
|1 |├─NESTED-LOOP JOIN CARTESIAN | |1 |3 |
|2 |│ ├─TABLE FULL SCAN |t2 |1 |3 |
|3 |│ └─MATERIAL | |1 |3 |
|4 |│ └─SUBPLAN SCAN |VIEW1|1 |3 |
|5 |│ └─TABLE FULL SCAN |t3 |1 |3 |
|6 |└─TABLE FULL SCAN |t2 |1 |3 |
==============================================================
================================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
----------------------------------------------------------------
|0 |HASH SEMI JOIN | |1 |5 |
|1 |├─NESTED-LOOP JOIN CARTESIAN | |1 |3 |
|2 |│ ├─NESTED-LOOP JOIN CARTESIAN | |1 |3 |
|3 |│ │ ├─TABLE FULL SCAN |t2 |1 |3 |
|4 |│ └─MATERIAL | |1 |3 |
|5 |│ └─SUBPLAN SCAN |VIEW1|1 |3 |
|6 |│ │ └─TABLE FULL SCAN |t3 |1 |3 |
|7 |│ └─MATERIAL | |1 |3 |
|8 |│ └─SUBPLAN SCAN |VIEW2|1 |3 |
|9 |│ └─TABLE FULL SCAN |t2 |1 |3 |
|10|└─TABLE FULL SCAN |t2 |1 |3 |
================================================================
Outputs & filters:
-------------------------------------
0 - output([1]), filter(nil), rowset=16
equal_conds([cast(t2.c1, VARCHAR(1048576)) = cast(cast(t2.c6, CHAR(1)), VARCHAR(1048576))]), other_conds(nil)
1 - output([t2.c1]), filter(nil), rowset=16
conds(nil), nl_params_(nil), use_batch=false
2 - output([t2.c1]), filter([cast(1, DECIMAL(1, 0)) = cast(t2.c2, DECIMAL(-1, -1))]), rowset=16
2 - output([t2.c1]), filter(nil), rowset=16
conds(nil), nl_params_(nil), use_batch=false
3 - output([t2.c1]), filter([cast(t2.c2, DECIMAL(-1, -1)) = cast(1, DECIMAL(1, 0))]), rowset=16
access([t2.c2], [t2.c1]), partitions(p0)
is_index_back=false, is_global_index=false, filter_before_indexback[false],
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
3 - output(nil), filter(nil), rowset=16
4 - output(nil), filter(nil), rowset=16
5 - output(nil), filter(nil), rowset=16
access(nil)
5 - output([1]), filter(nil), rowset=16
6 - output([1]), filter(nil), rowset=16
access(nil), partitions(p0)
limit(1), offset(nil), is_index_back=false, is_global_index=false,
range_key([t3.__pk_increment]), range(MIN ; MAX)always true
6 - output([t2.c6]), filter(nil), rowset=16
7 - output(nil), filter(nil), rowset=16
8 - output(nil), filter(nil), rowset=16
access(nil)
9 - output([1]), filter(nil), rowset=16
access(nil), partitions(p0)
limit(1), offset(nil), is_index_back=false, is_global_index=false,
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
10 - output([t2.c6]), filter(nil), rowset=16
access([t2.c6]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t2.__pk_increment]), range(MIN ; MAX)always true