-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat](nereids) push down encode slot #44748
base: master
Are you sure you want to change the base?
Conversation
run buildall |
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should add test cases to enumerate child's plan type. such as union, except, intersect, window, generate, etc..
fe/fe-core/src/main/java/org/apache/doris/nereids/properties/LogicalProperties.java
Outdated
Show resolved
Hide resolved
...ore/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/EncodeStr.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/Plan.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapScan.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalProject.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushDownEncodeSlot.java
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushDownEncodeSlot.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushDownEncodeSlot.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushDownEncodeSlot.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushDownEncodeSlot.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushDownEncodeSlot.java
Outdated
Show resolved
Hide resolved
return plan; | ||
} | ||
|
||
private Set<Slot> getByPassSlot(Plan plan) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this function's name is diff with its action. it remove all bypass slot indeed.
00508e8
to
06337a7
Compare
run buildall |
1 similar comment
run buildall |
run buildall |
run buildall |
5 similar comments
run buildall |
run buildall |
run buildall |
run buildall |
run buildall |
2842018
to
51b0083
Compare
run buildall |
run cloud_p0 |
run buildall |
|
|
run buildall |
|
run buildall |
|
run buildall |
run buildall |
run buildall |
TPC-H: Total hot run time: 39537 ms
|
run p0 |
run cloud_p0 |
run buildall |
TPC-H: Total hot run time: 39800 ms
|
run p0 |
run buildall |
TPC-H: Total hot run time: 40064 ms
|
run buildall |
TPC-H: Total hot run time: 39435 ms
|
TPC-DS: Total hot run time: 195468 ms
|
ClickBench: Total hot run time: 32 s
|
What problem does this PR solve?
in previous pr (#42408), string type of group_by and order_by keys are wrapped by encode_as_int(A) function.
In order to achieve better performance, it is better to push encode_as_int() down, because BE processes integers more efficiently.
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)