do not push down some filters when generate plan
This commit is contained in:
@ -1830,20 +1830,20 @@ EXPLAIN SELECT col_bigint, col_bigint_signed, col_bigint_unsigned, col_char_20,
|
||||
pk) TUT WHERE pk in (9727744 ,7826688 ,1657856 , 55039 , 50631)
|
||||
ORDER BY col_bigint, col_bigint_signed, col_bigint_unsigned, col_char_20, col_decimal_20_0, col_decimal_20_0_signed, col_decimal_20_0_unsigned, col_timestamp_6, pk;
|
||||
Query Plan
|
||||
===============================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-------------------------------------------------------------------------------
|
||||
|0 |SORT | |1 |50 |
|
||||
|1 |└─SUBPLAN SCAN |TUT |6 |48 |
|
||||
|2 | └─MERGE UNION DISTINCT | |6 |48 |
|
||||
|3 | ├─TABLE FULL SCAN |table2_bigint(Reverse)|5 |6 |
|
||||
|4 | └─SORT | |1 |41 |
|
||||
|5 | └─MERGE UNION DISTINCT | |6 |39 |
|
||||
|6 | ├─TABLE GET |table2_bigint |5 |26 |
|
||||
|7 | └─SORT | |1 |11 |
|
||||
|8 | └─TOP-N SORT | |1 |11 |
|
||||
|9 | └─TABLE FULL SCAN|table100_bigint |1 |10 |
|
||||
===============================================================================
|
||||
=============================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------------------------------------
|
||||
|0 |SORT | |5 |52 |
|
||||
|1 |└─SUBPLAN SCAN |TUT |5 |50 |
|
||||
|2 | └─MERGE UNION DISTINCT | |11 |50 |
|
||||
|3 | ├─MERGE UNION DISTINCT | |6 |39 |
|
||||
|4 | │ ├─TABLE GET |table2_bigint |5 |26 |
|
||||
|5 | │ └─SORT | |1 |11 |
|
||||
|6 | │ └─TOP-N SORT | |1 |11 |
|
||||
|7 | │ └─TABLE FULL SCAN|table100_bigint |1 |10 |
|
||||
|8 | └─SORT | |5 |8 |
|
||||
|9 | └─TABLE FULL SCAN |table2_bigint(Reverse)|5 |6 |
|
||||
=============================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([TUT.col_bigint], [TUT.col_bigint_signed], [TUT.col_bigint_unsigned], [TUT.col_char_20], [TUT.col_decimal_20_0], [TUT.col_decimal_20_0_signed],
|
||||
@ -1851,44 +1851,42 @@ Outputs & filters:
|
||||
sort_keys([TUT.col_bigint, ASC], [TUT.col_bigint_signed, ASC], [TUT.col_bigint_unsigned, ASC], [TUT.col_char_20, ASC], [TUT.col_decimal_20_0, ASC],
|
||||
[TUT.col_decimal_20_0_signed, ASC], [TUT.col_decimal_20_0_unsigned, ASC], [TUT.col_timestamp_6, ASC], [TUT.pk, ASC])
|
||||
1 - output([TUT.pk], [TUT.col_bigint], [TUT.col_bigint_signed], [TUT.col_bigint_unsigned], [TUT.col_char_20], [TUT.col_decimal_20_0], [TUT.col_decimal_20_0_signed],
|
||||
[TUT.col_decimal_20_0_unsigned], [TUT.col_timestamp_6]), filter(nil), rowset=16
|
||||
[TUT.col_decimal_20_0_unsigned], [TUT.col_timestamp_6]), filter([TUT.pk IN (9727744, 7826688, 1657856, 55039, 50631)]), rowset=16
|
||||
access([TUT.pk], [TUT.col_bigint], [TUT.col_bigint_signed], [TUT.col_bigint_unsigned], [TUT.col_char_20], [TUT.col_decimal_20_0], [TUT.col_decimal_20_0_signed],
|
||||
[TUT.col_decimal_20_0_unsigned], [TUT.col_timestamp_6])
|
||||
2 - output([UNION([1])], [UNION([2])], [UNION([3])], [UNION([4])], [UNION([5])], [UNION([6])], [UNION([7])], [UNION([8])], [UNION([9])]), filter([UNION([9])
|
||||
IN (9727744, 7826688, 1657856, 55039, 50631)]), rowset=16
|
||||
3 - output([table2_bigint.col_bigint], [table2_bigint.col_bigint_signed], [table2_bigint.col_bigint_unsigned], [table2_bigint.col_char_20], [table2_bigint.col_decimal_20_0],
|
||||
[table2_bigint.col_decimal_20_0_signed], [table2_bigint.col_decimal_20_0_unsigned], [table2_bigint.col_timestamp_6], [table2_bigint.pk]), filter([cast(table2_bigint.col_decimal_20_0_unsigned,
|
||||
DECIMAL(20, 0)) != cast(99999, DECIMAL(5, 0))]), rowset=16
|
||||
access([table2_bigint.pk], [table2_bigint.col_decimal_20_0_unsigned], [table2_bigint.col_bigint], [table2_bigint.col_bigint_signed], [table2_bigint.col_bigint_unsigned],
|
||||
[table2_bigint.col_char_20], [table2_bigint.col_decimal_20_0], [table2_bigint.col_decimal_20_0_signed], [table2_bigint.col_timestamp_6]), partitions(p0)
|
||||
limit(5), offset(1), is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([table2_bigint.pk]), range(MIN ; MAX)always true
|
||||
4 - output([UNION([1])], [UNION([2])], [UNION([3])], [UNION([4])], [UNION([5])], [UNION([6])], [UNION([7])], [UNION([8])], [UNION([9])]), filter(nil), rowset=16
|
||||
sort_keys([UNION([9]), DESC], [UNION([1]), ASC], [UNION([2]), ASC], [UNION([3]), ASC], [UNION([4]), ASC], [UNION([5]), ASC], [UNION([6]), ASC], [UNION([7]),
|
||||
ASC], [UNION([8]), ASC])
|
||||
5 - output([UNION([9])], [UNION([1])], [UNION([2])], [UNION([3])], [UNION([4])], [UNION([5])], [UNION([6])], [UNION([7])], [UNION([8])]), filter([UNION([9])
|
||||
IN (9727744, 7826688, 1657856, 55039, 50631)]), rowset=16
|
||||
6 - output([table2_bigint.col_bigint], [table2_bigint.col_bigint_signed], [table2_bigint.col_bigint_unsigned], [table2_bigint.col_char_20], [table2_bigint.col_decimal_20_0],
|
||||
2 - output([UNION([1])], [UNION([2])], [UNION([3])], [UNION([4])], [UNION([5])], [UNION([6])], [UNION([7])], [UNION([8])], [UNION([9])]), filter(nil), rowset=16
|
||||
3 - output([UNION([1])], [UNION([2])], [UNION([3])], [UNION([4])], [UNION([5])], [UNION([6])], [UNION([7])], [UNION([8])], [UNION([9])]), filter(nil), rowset=16
|
||||
4 - output([table2_bigint.col_bigint], [table2_bigint.col_bigint_signed], [table2_bigint.col_bigint_unsigned], [table2_bigint.col_char_20], [table2_bigint.col_decimal_20_0],
|
||||
[table2_bigint.col_decimal_20_0_signed], [table2_bigint.col_decimal_20_0_unsigned], [table2_bigint.col_timestamp_6], [table2_bigint.pk]), filter(nil), rowset=16
|
||||
access([table2_bigint.pk], [table2_bigint.col_bigint], [table2_bigint.col_bigint_signed], [table2_bigint.col_bigint_unsigned], [table2_bigint.col_char_20],
|
||||
[table2_bigint.col_decimal_20_0], [table2_bigint.col_decimal_20_0_signed], [table2_bigint.col_decimal_20_0_unsigned], [table2_bigint.col_timestamp_6]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([table2_bigint.pk]), range[9727744 ; 9727744], [7826688 ; 7826688], [1657856 ; 1657856], [55039 ; 55039], [50631 ; 50631],
|
||||
range_cond([table2_bigint.pk IN (9727744, 7826688, 1657856, 55039, 50631)], [table2_bigint.pk IN (9727744, 7826688, 1657856, 55039, 50631)])
|
||||
7 - output([table100_bigint.col_bigint], [table100_bigint.col_bigint_signed], [table100_bigint.col_bigint_unsigned], [table100_bigint.col_char_20], [table100_bigint.col_decimal_20_0],
|
||||
range_cond([table2_bigint.pk IN (9727744, 7826688, 1657856, 55039, 50631)])
|
||||
5 - output([table100_bigint.col_bigint], [table100_bigint.col_bigint_signed], [table100_bigint.col_bigint_unsigned], [table100_bigint.col_char_20], [table100_bigint.col_decimal_20_0],
|
||||
[table100_bigint.col_decimal_20_0_signed], [table100_bigint.col_decimal_20_0_unsigned], [table100_bigint.col_timestamp_6], [table100_bigint.pk]), filter(nil), rowset=16
|
||||
sort_keys([table100_bigint.pk, ASC])
|
||||
8 - output([table100_bigint.pk], [table100_bigint.col_bigint], [table100_bigint.col_bigint_signed], [table100_bigint.col_bigint_unsigned], [table100_bigint.col_char_20],
|
||||
6 - output([table100_bigint.pk], [table100_bigint.col_bigint], [table100_bigint.col_bigint_signed], [table100_bigint.col_bigint_unsigned], [table100_bigint.col_char_20],
|
||||
[table100_bigint.col_decimal_20_0], [table100_bigint.col_decimal_20_0_signed], [table100_bigint.col_decimal_20_0_unsigned], [table100_bigint.col_timestamp_6]), filter(nil), rowset=16
|
||||
sort_keys([table100_bigint.col_bigint_signed, ASC], [table100_bigint.col_decimal_20_0_signed, ASC], [table100_bigint.col_decimal_20_0, ASC], [table100_bigint.pk,
|
||||
DESC]), topn(7)
|
||||
9 - output([table100_bigint.pk], [table100_bigint.col_decimal_20_0_signed], [table100_bigint.col_decimal_20_0], [table100_bigint.col_bigint], [table100_bigint.col_bigint_signed],
|
||||
7 - output([table100_bigint.pk], [table100_bigint.col_decimal_20_0_signed], [table100_bigint.col_decimal_20_0], [table100_bigint.col_bigint], [table100_bigint.col_bigint_signed],
|
||||
[table100_bigint.col_bigint_unsigned], [table100_bigint.col_char_20], [table100_bigint.col_decimal_20_0_unsigned], [table100_bigint.col_timestamp_6]), filter([table100_bigint.col_decimal_20_0_signed
|
||||
= cast(ROUND(SIGN(table100_bigint.col_decimal_20_0)), DECIMAL(-1, 0))]), rowset=16
|
||||
access([table100_bigint.pk], [table100_bigint.col_decimal_20_0_signed], [table100_bigint.col_decimal_20_0], [table100_bigint.col_bigint], [table100_bigint.col_bigint_signed],
|
||||
[table100_bigint.col_bigint_unsigned], [table100_bigint.col_char_20], [table100_bigint.col_decimal_20_0_unsigned], [table100_bigint.col_timestamp_6]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([table100_bigint.pk]), range(MIN ; MAX)always true
|
||||
8 - output([table2_bigint.col_bigint], [table2_bigint.col_bigint_signed], [table2_bigint.col_bigint_unsigned], [table2_bigint.col_char_20], [table2_bigint.col_decimal_20_0],
|
||||
[table2_bigint.col_decimal_20_0_signed], [table2_bigint.col_decimal_20_0_unsigned], [table2_bigint.col_timestamp_6], [table2_bigint.pk]), filter(nil), rowset=16
|
||||
sort_keys([table2_bigint.pk, ASC])
|
||||
9 - output([table2_bigint.pk], [table2_bigint.col_decimal_20_0_unsigned], [table2_bigint.col_bigint], [table2_bigint.col_bigint_signed], [table2_bigint.col_bigint_unsigned],
|
||||
[table2_bigint.col_char_20], [table2_bigint.col_decimal_20_0], [table2_bigint.col_decimal_20_0_signed], [table2_bigint.col_timestamp_6]), filter([cast(table2_bigint.col_decimal_20_0_unsigned,
|
||||
DECIMAL(20, 0)) != cast(99999, DECIMAL(5, 0))]), rowset=16
|
||||
access([table2_bigint.pk], [table2_bigint.col_decimal_20_0_unsigned], [table2_bigint.col_bigint], [table2_bigint.col_bigint_signed], [table2_bigint.col_bigint_unsigned],
|
||||
[table2_bigint.col_char_20], [table2_bigint.col_decimal_20_0], [table2_bigint.col_decimal_20_0_signed], [table2_bigint.col_timestamp_6]), partitions(p0)
|
||||
limit(5), offset(1), is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([table2_bigint.pk]), range(MIN ; MAX)always true
|
||||
SELECT col_bigint, col_bigint_signed, col_bigint_unsigned, col_char_20, col_decimal_20_0, col_decimal_20_0_signed, col_decimal_20_0_unsigned, col_timestamp_6, pk
|
||||
FROM
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user