[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

@ -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;