Uh oh!
There was an error while loading. Please reload this page.
[feat](Nereids) push down predicates with multi columns through LogicalWindow and LogicalPartitionTopN - #36984
Merged
Conversation
…alWindow and LogicalPartitionTopN (apache#36828) The requirement for predicate pushdown through the window operator is that the partition by slots of the window contains all slots in the predicate. The original implementation of doris only allows predicate pushdown with one slot. This PR relaxes this restriction and allows for predicate pushdown with multiple slots. The same applies to the predicate pushdown of the LogicalPartitionTopN operator. The following sql is an example. ```sql select * from ( select row_number() over(partition by id, value1 order by value1) as num, id, value1 from push_down_multi_column_predicate_through_window_t ) t where abs(id + value1)<4 and num <= 2; ``` --------- Co-authored-by: feiniaofeiafei <moailing@selectdb.com>
doris-robot
commented
Jun 28, 2024
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
feiniaofeiafei
commented
Jun 28, 2024
CollaboratorAuthor
run buildall |
feiniaofeiafei
commented
Jun 28, 2024
CollaboratorAuthor
run buildall |
1 similar comment
feiniaofeiafei
commented
Jun 28, 2024
CollaboratorAuthor
run buildall |
doris-robot
commented
Jun 28, 2024
TPC-H: Total hot run time: 50686 ms |
doris-robot
commented
Jun 28, 2024
TPC-DS: Total hot run time: 204130 ms |
doris-robot
commented
Jun 28, 2024
ClickBench: Total hot run time: 30.86 s |
doris-robot
commented
Jun 28, 2024
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G' |
…alWindow and LogicalPartitionTopN
feiniaofeiafei
commented
Jun 28, 2024
CollaboratorAuthor
run buildall |
doris-robot
commented
Jun 28, 2024
TPC-H: Total hot run time: 49843 ms |
doris-robot
commented
Jun 28, 2024
TPC-DS: Total hot run time: 203647 ms |
doris-robot
commented
Jun 28, 2024
ClickBench: Total hot run time: 30.84 s |
doris-robot
commented
Jun 28, 2024
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G' |
…alWindow and LogicalPartitionTopN
feiniaofeiafei
commented
Jun 28, 2024
CollaboratorAuthor
run buildall |
doris-robot
commented
Jun 28, 2024
TPC-H: Total hot run time: 50028 ms |
doris-robot
commented
Jun 28, 2024
TPC-DS: Total hot run time: 203289 ms |
doris-robot
commented
Jun 28, 2024
ClickBench: Total hot run time: 30.62 s |
doris-robot
commented
Jun 28, 2024
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G' |
…alWindow and LogicalPartitionTopN
feiniaofeiafei
commented
Jul 1, 2024
CollaboratorAuthor
run buildall |
doris-robot
commented
Jul 1, 2024
TPC-H: Total hot run time: 50266 ms |
doris-robot
commented
Jul 1, 2024
TPC-DS: Total hot run time: 203871 ms |
doris-robot
commented
Jul 1, 2024
ClickBench: Total hot run time: 30.08 s |
doris-robot
commented
Jul 1, 2024
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G' |
morrySnow
commented
Jul 4, 2024
Contributor
run external |
morrySnow
commented
Jul 5, 2024
Contributor
run external |
mongo360 pushed a commit
to mongo360/doris
that referenced
this pull request
Aug 16, 2024
…alWindow and LogicalPartitionTopN (apache#36984) cherry-pick apache#36828 to branch-2.0 The requirement for predicate pushdown through the window operator is that the partition by slots of the window contains all slots in the predicate. The original implementation of doris only allows predicate pushdown with one slot. This PR relaxes this restriction and allows for predicate pushdown with multiple slots. The same applies to the predicate pushdown of the LogicalPartitionTopN operator. The following sql is an example. select * from ( select row_number() over(partition by id, value1 order by value1) as num, id, value1 from push_down_multi_column_predicate_through_window_t ) t where abs(id + value1)<4 and num <= 2; Co-authored-by: feiniaofeiafei <moailing@selectdb.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
cherry-pick #36828 to branch-2.0
The requirement for predicate pushdown through the window operator is that the partition by slots of the window contains all slots in the predicate. The original implementation of doris only allows predicate pushdown with one slot. This PR relaxes this restriction and allows for predicate pushdown with multiple slots. The same applies to the predicate pushdown of the LogicalPartitionTopN operator. The following sql is an example.