[CP] reorder the order of complex filters

This commit is contained in:
obdev
2024-02-21 09:19:05 +00:00
committed by ob-robot
parent 0c3b7d08c4
commit fea19bc54e
31 changed files with 335 additions and 21 deletions

View File

@ -123,7 +123,7 @@ Query Plan
Outputs & filters:
-------------------------------------
0 - output([xy_t1.c1], [xy_t1.c2]), filter(nil), rowset=16
conds([xy_t1.c1 = xy_t2.c1], [xy_t1.c2 > xy_t2.c2]), nl_params_(nil), use_batch=false
conds([xy_t1.c2 > xy_t2.c2], [xy_t1.c1 = xy_t2.c1]), nl_params_(nil), use_batch=false
1 - output([xy_t1.c1], [xy_t1.c2]), filter(nil), rowset=16
access([xy_t1.c1], [xy_t1.c2]), partitions(p0)
is_index_back=false, is_global_index=false,
@ -343,7 +343,7 @@ Query Plan
Outputs & filters:
-------------------------------------
0 - output([xy_t1.c1], [xy_t1.c2]), filter(nil), rowset=16
conds([xy_t1.c1 = xy_t2.c1], [xy_t1.c2 > xy_t2.c2]), nl_params_(nil), use_batch=false
conds([xy_t1.c2 > xy_t2.c2], [xy_t1.c1 = xy_t2.c1]), nl_params_(nil), use_batch=false
1 - output([xy_t1.c1], [xy_t1.c2]), filter(nil), rowset=16
access([xy_t1.c1], [xy_t1.c2]), partitions(p0)
is_index_back=false, is_global_index=false,
@ -438,7 +438,7 @@ Query Plan
Outputs & filters:
-------------------------------------
0 - output([xy_t1.c1], [xy_t1.c2], [xy_t1.c1], [xy_t1.c2]), filter(nil), rowset=16
conds([xy_t1.c1 = xy_t2.c1], [xy_t1.c2 > xy_t2.c2]), nl_params_(nil), use_batch=false
conds([xy_t1.c2 > xy_t2.c2], [xy_t1.c1 = xy_t2.c1]), nl_params_(nil), use_batch=false
1 - output([xy_t1.c1], [xy_t1.c2]), filter(nil), rowset=16
access([xy_t1.c1], [xy_t1.c2]), partitions(p0)
is_index_back=false, is_global_index=false,
@ -549,7 +549,7 @@ Query Plan
Outputs & filters:
-------------------------------------
0 - output([xy_t1.c1], [xy_t1.c2], [xy_t1.c1], [xy_t1.c2]), filter(nil), rowset=16
conds([xy_t1.c1 = xy_t2.c1], [xy_t1.c2 > xy_t2.c2]), nl_params_(nil), use_batch=false
conds([xy_t1.c2 > xy_t2.c2], [xy_t1.c1 = xy_t2.c1]), nl_params_(nil), use_batch=false
1 - output([xy_t1.c1], [xy_t1.c2]), filter(nil), rowset=16
access([xy_t1.c1], [xy_t1.c2]), partitions(p0)
is_index_back=false, is_global_index=false,
@ -731,7 +731,7 @@ Query Plan
Outputs & filters:
-------------------------------------
0 - output([xy_x_t.x1], [xy_x_t.x2]), filter(nil), rowset=256
conds([xy_y_t.y2 < xy_x_t.x2], [xy_x_t.x1 = xy_y_t.y1]), nl_params_(nil), use_batch=false
conds([xy_x_t.x1 = xy_y_t.y1], [xy_y_t.y2 < xy_x_t.x2]), nl_params_(nil), use_batch=false
1 - output([xy_x_t.x2], [xy_x_t.x1]), filter(nil), rowset=256
access([xy_x_t.x2], [xy_x_t.x1]), partitions(p0)
is_index_back=false, is_global_index=false,
@ -4042,7 +4042,7 @@ Outputs & filters:
0 - output([xy_t1.c2], [xy_t1.c3]), filter(nil), rowset=16
sort_keys([xy_t1.c2, ASC], [xy_t1.c3, ASC])
1 - output([xy_t1.c2], [xy_t1.c3]), filter(nil), rowset=16
conds([xy_t1.c2 = xy_t2.c2], [xy_t1.c3 < xy_t2.c3]), nl_params_(nil), use_batch=false
conds([xy_t1.c3 < xy_t2.c3], [xy_t1.c2 = xy_t2.c2]), nl_params_(nil), use_batch=false
2 - output([xy_t1.c2], [xy_t1.c3]), filter(nil), rowset=16
access([xy_t1.c2], [xy_t1.c3]), partitions(p0)
is_index_back=false, is_global_index=false,
@ -4192,7 +4192,7 @@ Outputs & filters:
0 - output([xy_t2.c2], [xy_t2.c3]), filter(nil), rowset=16
sort_keys([xy_t2.c2, ASC], [xy_t2.c3, ASC])
1 - output([xy_t2.c2], [xy_t2.c3]), filter(nil), rowset=16
conds([xy_t1.c2 = xy_t2.c2], [xy_t1.c3 < xy_t2.c3]), nl_params_(nil), use_batch=false
conds([xy_t1.c3 < xy_t2.c3], [xy_t1.c2 = xy_t2.c2]), nl_params_(nil), use_batch=false
2 - output([xy_t2.c2], [xy_t2.c3]), filter(nil), rowset=16
access([xy_t2.c2], [xy_t2.c3]), partitions(p0)
is_index_back=false, is_global_index=false,

View File

@ -1504,7 +1504,7 @@ Outputs & filters:
0 - output([t2.a], [t2.b], [t2.c], [t7.a], [t7.b], [t7.c], [t7.d]), filter(nil), rowset=16
sort_keys([t2.a, ASC], [t2.b, ASC], [t7.a, ASC], [t7.b, ASC])
1 - output([t2.a], [t2.b], [t7.a], [t7.b], [t2.c], [t7.c], [t7.d]), filter(nil), rowset=16
conds([cast(t2.b, DECIMAL(-1, -1)) = cast(t7.a, DECIMAL(10, 0))], [t2.c = t7.d]), nl_params_(nil), use_batch=false
conds([t2.c = t7.d], [cast(t2.b, DECIMAL(-1, -1)) = cast(t7.a, DECIMAL(10, 0))]), nl_params_(nil), use_batch=false
2 - output([t7.a], [t7.d], [t7.b], [t7.c]), filter(nil), rowset=16
access([t7.a], [t7.d], [t7.b], [t7.c]), partitions(p0)
is_index_back=false, is_global_index=false,
@ -1669,7 +1669,7 @@ Outputs & filters:
0 - output([t2.a], [t2.b], [t2.c], [t7.a], [t7.b], [t7.c], [t7.d]), filter(nil), rowset=16
sort_keys([t2.a, ASC], [t2.b, ASC], [t7.a, ASC], [t7.b, ASC])
1 - output([t2.a], [t2.b], [t7.a], [t7.b], [t2.c], [t7.c], [t7.d]), filter(nil), rowset=16
conds([cast(t2.b, DECIMAL(-1, -1)) = cast(t7.a, DECIMAL(10, 0))], [t2.c = t7.d]), nl_params_(nil), use_batch=false
conds([t2.c = t7.d], [cast(t2.b, DECIMAL(-1, -1)) = cast(t7.a, DECIMAL(10, 0))]), nl_params_(nil), use_batch=false
2 - output([t2.b], [t2.c], [t2.a]), filter(nil), rowset=16
access([t2.b], [t2.c], [t2.a]), partitions(p0)
is_index_back=false, is_global_index=false,

View File

@ -5964,7 +5964,7 @@ Outputs & filters:
-------------------------------------
0 - output([T_FUN_COUNT(*)]), filter(nil), rowset=256
group(nil), agg_func([T_FUN_COUNT(*)])
1 - output(nil), filter([concat(result.t1c0, '') = 'q6h]zjLt)|[?S*C'], [result.t2c0 = 1489403758], [concat(result.t0c0, '') IS NULL], [result.t0c1 = 398204275]), rowset=256
1 - output(nil), filter([result.t2c0 = 1489403758], [concat(result.t1c0, '') = 'q6h]zjLt)|[?S*C'], [concat(result.t0c0, '') IS NULL], [result.t0c1 = 398204275]), rowset=256
access([result.t0c0], [result.t0c1], [result.t2c0], [result.t1c0])
2 - output([t0.c0], [t0.c1], [t2.c0], [t1.c0]), filter(nil), rowset=256
limit(2147483647), offset(0)
@ -6020,7 +6020,7 @@ Outputs & filters:
-------------------------------------
0 - output([T_FUN_COUNT(*)]), filter(nil), rowset=256
group(nil), agg_func([T_FUN_COUNT(*)])
1 - output(nil), filter([concat(result.t1c0, '') = 'q6h]zjLt)|[?S*C'], [result.t2c0 = 1489403758], [concat(result.t0c0, '') IS NULL], [result.t0c1 = 398204275]), rowset=256
1 - output(nil), filter([result.t2c0 = 1489403758], [concat(result.t1c0, '') = 'q6h]zjLt)|[?S*C'], [concat(result.t0c0, '') IS NULL], [result.t0c1 = 398204275]), rowset=256
access([result.t0c0], [result.t0c1], [result.t2c0], [result.t1c0])
2 - output([t0.c0], [t0.c1], [t2.c0], [t1.c0]), filter(nil), rowset=256
limit(2147483647), offset(0)

View File

@ -186,10 +186,10 @@ Query Plan
==================================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5]), filter([t1.c1 + cast(cast(2, DECIMAL_INT(10, 0)), DECIMAL_INT(10, 0)) < cast(10, DECIMAL_INT(11,
0))], [t1.c4 > t1.c3]), rowset=16
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5]), filter([t1.c4 > t1.c3], [t1.c1 + cast(cast(2, DECIMAL_INT(10, 0)), DECIMAL_INT(10, 0)) < cast(10,
DECIMAL_INT(11, 0))]), rowset=16
access([t1.c1], [t1.c2], [t1.c4], [t1.c3], [t1.c5]), partitions(p0)
is_index_back=true, is_global_index=false, filter_before_indexback[true,false],
is_index_back=true, is_global_index=false, filter_before_indexback[false,true],
range_key([t1.c2], [t1.c1]), range(2,MIN ; 2,MAX),
range_cond([t1.c2 = cast(2, DECIMAL_INT(10, 0))])
select * from t1 where c2 = 2 and c1 + c2 < 10 and c4 > c3;

View File

@ -975,7 +975,7 @@ Outputs & filters:
range_key([t1.__pk_increment]), range(MIN ; MAX)always true
2 - output([1]), filter(nil), rowset=16
limit(1), offset(nil)
3 - output(nil), filter([T_FUN_SUM(t2.a) > cast(1, DECIMAL_INT(33, 0))], [T_FUN_COUNT(t2.a) > 0]), rowset=16
3 - output(nil), filter([T_FUN_COUNT(t2.a) > 0], [T_FUN_SUM(t2.a) > cast(1, DECIMAL_INT(33, 0))]), rowset=16
group([t2.a]), agg_func([T_FUN_SUM(t2.a)], [T_FUN_COUNT(t2.a)])
4 - output([t2.a]), filter(nil), rowset=16
access([t2.a]), partitions(p0)
@ -1131,7 +1131,7 @@ Outputs & filters:
range_key([t1.__pk_increment]), range(MIN ; MAX)always true
2 - output([1]), filter(nil), rowset=16
limit(1), offset(nil)
3 - output(nil), filter([T_FUN_SUM(t2.a) > cast(1, DECIMAL_INT(33, 0))], [T_FUN_COUNT(t2.a) > 0]), rowset=16
3 - output(nil), filter([T_FUN_COUNT(t2.a) > 0], [T_FUN_SUM(t2.a) > cast(1, DECIMAL_INT(33, 0))]), rowset=16
group([t2.a]), agg_func([T_FUN_SUM(t2.a)], [T_FUN_COUNT(t2.a)])
4 - output([t2.a]), filter(nil), rowset=16
access([t2.a]), partitions(p0)