-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[feature-WIP](query cache) cache tablets aggregate result, FE part #39670
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. Since 2024-03-18, the Document has been moved to doris-website. |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
|
clang-tidy review says "All clean, LGTM! 👍" |
TPC-H: Total hot run time: 38724 ms |
TPC-DS: Total hot run time: 191732 ms |
ClickBench: Total hot run time: 31.85 s |
| 5: optional list<Types.TPrimitiveType> key_column_types | ||
| 6: optional string rollup_name | ||
| 7: optional string sort_column | ||
| 8: optional list<string> select_columns |
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.
there is no remapped_slot_ids, plz check if we need it or not?
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.
I don't think remapped_slot_ids is needed.
The select_columns contains this information and ignore select column order
ee1b17c to
c006a90
Compare
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
1 similar comment
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
TPC-H: Total hot run time: 38237 ms |
TPC-DS: Total hot run time: 191640 ms |
ClickBench: Total hot run time: 31.05 s |
2df5fe1 to
bcd32ca
Compare
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
TPC-H: Total hot run time: 38703 ms |
TPC-DS: Total hot run time: 186180 ms |
ClickBench: Total hot run time: 30.8 s |
3f6d512 to
4760f39
Compare
|
run buildall |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
TPC-H: Total hot run time: 38424 ms |
TPC-DS: Total hot run time: 188224 ms |
ClickBench: Total hot run time: 32.02 s |
de541db to
73e2150
Compare
|
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
|
clang-tidy review says "All clean, LGTM! 👍" |
8524f7b to
6b61a2a
Compare
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
TPC-H: Total hot run time: 38536 ms |
TPC-DS: Total hot run time: 188206 ms |
ClickBench: Total hot run time: 31.89 s |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
…39670) # Proposed changes support cache tablets aggregate result for example SQL 1: ```sql select key, sum(value) from tbl where dt between '2024-08-01' and '2024-08-10' group by key ``` SQL 2: ```sql select key, sum(value) from tbl where dt between '2024-08-5' and '2024-08-15' group by key ``` SQL 1 will update the tablets aggregate result which partition between '2024-08-01' and '2024-08-10'. Then SQL 2 will reuse the tablets aggregate which partition between '2024-08-05' and '2024-08-10', and compute aggregate which partition between '2024-08-11' and '2024-08-15' We only support simple aggregate which not contains join with runtime filter, at present. # How to use ```sql set enable_query_cache=true; ```
…add ut test (apache#52601) 1. Nereids Translate Time should be after method `PhysicalPlanTranslator#translatePlan` 2. fix 2.1 and 3.0 `Parse SQL Time` and `Nereids Lock Table Time` has the same parseSqlStartTime. Related PR: apache#39670 apache#45679
Proposed changes
support cache tablets aggregate result
for example
SQL 1:
SQL 2:
SQL 1 will update the tablets aggregate result which partition between '2024-08-01' and '2024-08-10'.
Then SQL 2 will reuse the tablets aggregate which partition between '2024-08-05' and '2024-08-10', and compute aggregate which partition between '2024-08-11' and '2024-08-15'
We only support simple aggregate which not contains join with runtime filter, at present.
How to use