-
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) add use mv hint #40167
Conversation
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
run buildall |
TPC-H: Total hot run time: 37978 ms
|
run buildall |
TPC-H: Total hot run time: 38328 ms
|
TPC-DS: Total hot run time: 188674 ms
|
ClickBench: Total hot run time: 32.02 s
|
run buildall |
TPC-H: Total hot run time: 38101 ms
|
TPC-DS: Total hot run time: 193607 ms
|
ClickBench: Total hot run time: 32.51 s
|
run external |
1 similar comment
run external |
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
run buildall |
run buildall |
TPC-H: Total hot run time: 41271 ms
|
TPC-DS: Total hot run time: 193153 ms
|
ClickBench: Total hot run time: 31.92 s
|
run buildall |
TPC-H: Total hot run time: 38125 ms
|
TPC-DS: Total hot run time: 193135 ms
|
ClickBench: Total hot run time: 31.72 s
|
run p0 |
run cloud_p0 |
1 similar comment
run cloud_p0 |
PR approved by at least one committer and no changes requested. |
support hint like: /*+ no_use_mv(tablename mvname) / which forbid tablename(indexname) to be choose or /+ use_mv(tablename mvname) */ which choose specific materialize view
remove unstable case which can not be sure in choise of mv intro by: #40167
support hint like: /*+ no_use_mv(tablename mvname) / which forbid tablename(indexname) to be choose or /+ use_mv(tablename mvname) */ which choose specific materialize view
…#41869) pick: #35925 #39715 #40167 #40958 Add feat of force use/nouse cbo rule hint and fix pr introduce when not using this hint, cbo rules like INFER_SET_OPERATOR_DISTINCT would generate two plans and compare their cost and nereids optimizer would decide which is better. But when we want to control the behavior of cbo rules we could use this force cbo rule hint usage example explain shape plan select /*+ USE_CBO_RULE(INFER_SET_OPERATOR_DISTINCT) */ * from t1 union select * from t2; the USE_CBO_RULE(INFER_SET_OPERATOR_DISTINCT) hint would force rule INFER_SET_OPERATOR_DISTINCT to be used and generate plan like, which hashAgg below union is generated by this rule: -- !with_hint_union_distinct -- ----hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------PhysicalUnion --------------hashAgg[LOCAL] ----------------PhysicalOlapScan[t1] --------------hashAgg[LOCAL] ----------------PhysicalOlapScan[t2] Hint log: Used: INFER_SET_OPERATOR_DISTINCT UnUsed: SyntaxError: When we want to force disable this rule, we could use explain shape plan select /*+ NO_USE_CBO_RULE(INFER_SET_OPERATOR_DISTINCT) */ * from t1 union select * from t2; which would generate plan with this rule: -- !with_hint_no_union_distinct -- ----hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------PhysicalUnion --------------PhysicalOlapScan[t1] --------------PhysicalOlapScan[t2] Hint log: Used: NO_INFER_SET_OPERATOR_DISTINCT UnUsed: SyntaxError: change sessionvariable enableNereidsRules to varType.remove
support hint like:
/*+ no_use_mv(tablename mvname) / which forbid tablename(indexname) to be choose
or /+ use_mv(tablename mvname) */ which choose specific materialize view