[FEAT MERGE] ENHANCE CARDINALITY ESTIMATION AND OPTIMIZER STATS MANAGEMENT
Co-authored-by: ChangerR <dingjinchengyx@163.com> Co-authored-by: wangt1xiuyi <13547954130@163.com>
This commit is contained in:
@ -941,7 +941,7 @@ Query Plan
|
||||
=============================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |5 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |5 |
|
||||
|1 |├─TABLE FULL SCAN |t1(idx_a_b_c)|1 |3 |
|
||||
|2 |└─TABLE FULL SCAN |t2(idx_x_y_z)|1 |3 |
|
||||
=============================================================
|
||||
@ -961,7 +961,7 @@ Query Plan
|
||||
=============================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |5 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |5 |
|
||||
|1 |├─TABLE FULL SCAN |t1(idx_a_b_c)|1 |3 |
|
||||
|2 |└─TABLE FULL SCAN |t2(idx_x_y_z)|1 |3 |
|
||||
=============================================================
|
||||
@ -981,7 +981,7 @@ Query Plan
|
||||
=============================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |5 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |5 |
|
||||
|1 |├─TABLE RANGE SCAN |t1(idx_b_c_a)|1 |3 |
|
||||
|2 |└─TABLE RANGE SCAN |t2(idx_x_y_z)|1 |3 |
|
||||
=============================================================
|
||||
@ -1003,7 +1003,7 @@ Query Plan
|
||||
=============================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |5 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |5 |
|
||||
|1 |├─TABLE RANGE SCAN |t1(idx_b_c_a)|1 |3 |
|
||||
|2 |└─TABLE RANGE SCAN |t2(idx_x_y_z)|1 |3 |
|
||||
=============================================================
|
||||
@ -1466,7 +1466,7 @@ Query Plan
|
||||
================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
----------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT | |1 |7 |
|
||||
|0 |MERGE UNION DISTINCT | |2 |7 |
|
||||
|1 |├─TABLE FULL SCAN |t2(idx_x_y_z)|1 |3 |
|
||||
|2 |└─SORT | |1 |5 |
|
||||
|3 | └─MERGE JOIN | |1 |5 |
|
||||
@ -3080,7 +3080,7 @@ Query Plan
|
||||
=================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |5 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |5 |
|
||||
|1 |├─TABLE RANGE SCAN |t6(idx_b_e_d_c_a)|1 |3 |
|
||||
|2 |└─TABLE FULL SCAN |tmp(idx_c1_c2_c3)|1 |3 |
|
||||
=================================================================
|
||||
@ -3101,7 +3101,7 @@ Query Plan
|
||||
=================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |5 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |5 |
|
||||
|1 |├─TABLE FULL SCAN |t6(idx_b_e_d_c_a)|1 |3 |
|
||||
|2 |└─TABLE FULL SCAN |tmp(idx_c1_c2_c3)|1 |3 |
|
||||
=================================================================
|
||||
@ -3121,7 +3121,7 @@ Query Plan
|
||||
=================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |10 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |10 |
|
||||
|1 |├─TABLE FULL SCAN |tmp(idx_c1_c2_c3)|1 |3 |
|
||||
|2 |└─SORT | |1 |8 |
|
||||
|3 | └─TABLE FULL SCAN |t6(idx_b_c) |1 |8 |
|
||||
@ -3144,7 +3144,7 @@ Query Plan
|
||||
=================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |10 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |10 |
|
||||
|1 |├─TABLE FULL SCAN |tmp(idx_c1_c2_c3)|1 |3 |
|
||||
|2 |└─SORT | |1 |8 |
|
||||
|3 | └─TABLE FULL SCAN |t6(idx_b_a_c) |1 |8 |
|
||||
@ -3167,7 +3167,7 @@ Query Plan
|
||||
=================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |5 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |5 |
|
||||
|1 |├─TABLE FULL SCAN |t6(idx_b_e_d_c_a)|1 |3 |
|
||||
|2 |└─TABLE FULL SCAN |tmp(idx_c1_c2_c3)|1 |3 |
|
||||
=================================================================
|
||||
@ -3762,7 +3762,7 @@ Optimization Info:
|
||||
avaiable_index_name:[t10i1, t10i2, t10i3, t10]
|
||||
pruned_index_name:[t10i3]
|
||||
unstable_index_name:[t10]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -3812,7 +3812,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t10i1, t10i2, t10i3, t10]
|
||||
unstable_index_name:[t10]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -3861,7 +3861,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t10i1, t10i2, t10i3, t10]
|
||||
pruned_index_name:[t10i3]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -3910,7 +3910,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t10i1, t10i2, t10i3, t10]
|
||||
pruned_index_name:[t10i3]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -3958,7 +3958,7 @@ Optimization Info:
|
||||
table_dop:1
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t10i1, t10i2, t10i3, t10]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4009,7 +4009,7 @@ Optimization Info:
|
||||
avaiable_index_name:[t10i1, t10i2, t10i3, t10]
|
||||
pruned_index_name:[t10i1]
|
||||
unstable_index_name:[t10]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4061,7 +4061,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t10i1, t10i2, t10i3, t10]
|
||||
pruned_index_name:[t10i1, t10i3]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4113,7 +4113,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t10i1, t10i2, t10i3, t10]
|
||||
pruned_index_name:[t10i2, t10i3]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4165,7 +4165,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t10i1, t10i2, t10i3, t10]
|
||||
pruned_index_name:[t10i1, t10i3]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4217,7 +4217,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t10i1, t10i2, t10i3, t10]
|
||||
pruned_index_name:[t10i1, t10i2]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4266,7 +4266,7 @@ Optimization Info:
|
||||
table_dop:1
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t11i1, t11]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4315,7 +4315,7 @@ Optimization Info:
|
||||
table_dop:1
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t11i1, t11]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4365,7 +4365,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t11i1, t11]
|
||||
pruned_index_name:[t11i1]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4415,7 +4415,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t11i1, t11]
|
||||
pruned_index_name:[t11i1]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4467,7 +4467,7 @@ Optimization Info:
|
||||
table_dop:1
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t11i1, t11]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4518,7 +4518,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t11i1, t11]
|
||||
pruned_index_name:[t11i1]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4569,7 +4569,7 @@ Optimization Info:
|
||||
table_dop:1
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t11i1, t11]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4618,7 +4618,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t11i1, t11]
|
||||
pruned_index_name:[t11]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4668,7 +4668,7 @@ Optimization Info:
|
||||
table_dop:1
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t11i1, t11]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4723,7 +4723,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t11i1, t11]
|
||||
pruned_index_name:[t11i1]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4772,7 +4772,7 @@ Optimization Info:
|
||||
table_dop:1
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t12i1, t12i2, t12]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4821,7 +4821,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t12i1, t12i2, t12]
|
||||
pruned_index_name:[t12i1, t12i2]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4870,7 +4870,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t12i1, t12i2, t12]
|
||||
pruned_index_name:[t12i1]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
@ -4919,7 +4919,7 @@ Optimization Info:
|
||||
dop_method:Table DOP
|
||||
avaiable_index_name:[t12i1, t12i2, t12]
|
||||
pruned_index_name:[t12i1, t12i2]
|
||||
stats version:0
|
||||
stats info:[version=0, is_locked=0, is_expired=0]
|
||||
dynamic sampling level:0
|
||||
estimation method:[DEFAULT, STORAGE]
|
||||
Plan Type:
|
||||
|
||||
@ -725,33 +725,30 @@ Outputs & filters:
|
||||
range_key([other.c1]), range(MIN ; MAX)always true
|
||||
explain select max(v1), tenant_id, v6 from skyline_int join other on v3 = c1 group by v5, v4, v3 order by v3, v4, v5;
|
||||
Query Plan
|
||||
================================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
--------------------------------------------------------------------------------
|
||||
|0 |SORT | |1 |5 |
|
||||
|1 |└─HASH GROUP BY | |1 |5 |
|
||||
|2 | └─MERGE JOIN | |1 |5 |
|
||||
|3 | ├─TABLE FULL SCAN|other |1 |3 |
|
||||
|4 | └─TABLE FULL SCAN|skyline_int(idx_v3_v4_v5_v6_v2)|1 |3 |
|
||||
================================================================================
|
||||
==============================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
------------------------------------------------------------------------------
|
||||
|0 |MERGE GROUP BY | |1 |5 |
|
||||
|1 |└─MERGE JOIN | |1 |5 |
|
||||
|2 | ├─TABLE FULL SCAN|skyline_int(idx_v3_v4_v5_v6_v2)|1 |3 |
|
||||
|3 | └─TABLE FULL SCAN|other |1 |3 |
|
||||
==============================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([T_FUN_MAX(skyline_int.v1)], [skyline_int.tenant_id], [skyline_int.v6]), filter(nil), rowset=16
|
||||
sort_keys([skyline_int.v3, ASC], [skyline_int.v4, ASC], [skyline_int.v5, ASC])
|
||||
1 - output([skyline_int.v3], [skyline_int.v4], [skyline_int.v5], [T_FUN_MAX(skyline_int.v1)], [skyline_int.tenant_id], [skyline_int.v6]), filter(nil), rowset=16
|
||||
group([skyline_int.v5], [skyline_int.v4], [skyline_int.v3]), agg_func([T_FUN_MAX(skyline_int.v1)])
|
||||
2 - output([skyline_int.v3], [skyline_int.v4], [skyline_int.v5], [skyline_int.tenant_id], [skyline_int.v6], [skyline_int.v1]), filter(nil), rowset=16
|
||||
group([skyline_int.v3], [skyline_int.v4], [skyline_int.v5]), agg_func([T_FUN_MAX(skyline_int.v1)])
|
||||
1 - output([skyline_int.v3], [skyline_int.v4], [skyline_int.v5], [skyline_int.tenant_id], [skyline_int.v6], [skyline_int.v1]), filter(nil), rowset=16
|
||||
equal_conds([skyline_int.v3 = other.c1]), other_conds(nil)
|
||||
merge_directions([ASC])
|
||||
3 - output([other.c1]), filter(nil), rowset=16
|
||||
access([other.c1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([other.c1]), range(MIN ; MAX)always true
|
||||
4 - output([skyline_int.v1], [skyline_int.tenant_id], [skyline_int.v3], [skyline_int.v6], [skyline_int.v5], [skyline_int.v4]), filter(nil), rowset=16
|
||||
2 - output([skyline_int.v1], [skyline_int.tenant_id], [skyline_int.v3], [skyline_int.v6], [skyline_int.v5], [skyline_int.v4]), filter(nil), rowset=16
|
||||
access([skyline_int.v1], [skyline_int.tenant_id], [skyline_int.v3], [skyline_int.v6], [skyline_int.v5], [skyline_int.v4]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([skyline_int.v3], [skyline_int.v4], [skyline_int.v5], [skyline_int.v6], [skyline_int.v2], [skyline_int.v1], [skyline_int.tenant_id]), range(MIN,
|
||||
MIN,MIN,MIN,MIN,MIN,MIN ; MAX,MAX,MAX,MAX,MAX,MAX,MAX)always true
|
||||
3 - output([other.c1]), filter(nil), rowset=16
|
||||
access([other.c1]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([other.c1]), range(MIN ; MAX)always true
|
||||
explain select distinct(v3) from skyline_int join other on v3 = c1 order by v3, v4, v5;
|
||||
Query Plan
|
||||
===========================================================================
|
||||
@ -928,7 +925,7 @@ Query Plan
|
||||
============================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
----------------------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |5 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |5 |
|
||||
|1 |├─TABLE FULL SCAN |skyline_int(idx_v3_v4_v5_v2)|1 |3 |
|
||||
|2 |└─TABLE FULL SCAN |other |1 |3 |
|
||||
============================================================================
|
||||
@ -971,7 +968,7 @@ Query Plan
|
||||
===============================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-------------------------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |5 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |5 |
|
||||
|1 |├─TABLE FULL SCAN |skyline_int(idx_v4_v5_v6_v2_v3)|1 |3 |
|
||||
|2 |└─TABLE FULL SCAN |skyline_int(idx_v2_v3_v4) |1 |3 |
|
||||
===============================================================================
|
||||
@ -1350,7 +1347,7 @@ Query Plan
|
||||
===============================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-------------------------------------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |7 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |7 |
|
||||
|1 |├─MERGE JOIN | |1 |5 |
|
||||
|2 |│ ├─TABLE FULL SCAN |skyline_int(idx_v4_v5_v6_v2_v3)|1 |3 |
|
||||
|3 |│ └─TABLE FULL SCAN |other |1 |3 |
|
||||
@ -1414,7 +1411,7 @@ Query Plan
|
||||
=====================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------------
|
||||
|0 |MERGE UNION DISTINCT| |1 |5 |
|
||||
|0 |MERGE UNION DISTINCT| |2 |5 |
|
||||
|1 |├─TABLE FULL SCAN |other|1 |3 |
|
||||
|2 |└─TABLE FULL SCAN |other|1 |3 |
|
||||
=====================================================
|
||||
|
||||
Reference in New Issue
Block a user