-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[opt](nereids) some topn-join rules are both used in rbo and cbo #46773
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
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
TPC-H: Total hot run time: 32679 ms |
TPC-DS: Total hot run time: 195740 ms |
ClickBench: Total hot run time: 31.34 s |
fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/executor/Rewriter.java
Show resolved
Hide resolved
989d8c8 to
41d9205
Compare
|
run buildall |
TPC-H: Total hot run time: 32791 ms |
TPC-DS: Total hot run time: 193287 ms |
ClickBench: Total hot run time: 31.41 s |
|
run p0 |
| .add(PushDownProjectThroughInnerOuterJoin.INSTANCE) | ||
| .add(PushDownProjectThroughSemiJoin.INSTANCE) | ||
| .add(TransposeAggSemiJoinProject.INSTANCE) | ||
| .addAll(new PushDownTopNThroughJoin().buildRules()) |
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.
- better to add regression tracking case
- apply rqg like random plan testing
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
…che#46773) ### What problem does this PR solve? the following rules only applies on pattern: topn->outerJoin if they are used a rbo rules, we miss the opportunity to optimize the plan, when the initial plan pattern is topn->innerJoin. to utilize the join reorder, the are moved to cbo rules, and when bottom outer join reorders as the root of join cluster, these rules could be applied. PushDownTopNThroughJoin PushDownLimitDistinctThroughJoin PushDownTopNDistinctThroughJoin
What problem does this PR solve?
the following rules only applies on pattern:
topn->outerJoin
if they are used a rbo rules, we miss the opportunity to optimize the plan, when the initial plan pattern is topn->innerJoin.
to utilize the join reorder, the are moved to cbo rules, and when bottom outer join reorders as the root of join cluster, these rules could be applied.
PushDownTopNThroughJoin
PushDownLimitDistinctThroughJoin
PushDownTopNDistinctThroughJoin
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)