Closed satanson closed 3 months ago
@satanson Hi, Could you assign it to me?
@XinzhuangL my email address is ranpanf@gmail.com, if you have some questions, reach me via email.
@XinzhuangL my email address is ranpanf@gmail.com, if you have some questions, reach me via email.
get
We have marked this issue as stale because it has been inactive for 6 months. If this issue is still relevant, removing the stale label or adding a comment will keep it active. Otherwise, we'll close it in 10 days to keep the issue queue tidy. Thank you for your contribution to StarRocks!
Enhancement
Motivation
For TPCDS-query69, the query contains exists-subquery predicates, so left anti/semi joins appear in the final plan, the upper aggregation fails to be materialized for re-use because left anti/semi joins contains highly selective predicates, in the real scenarios, these predicates may be changing, so materializing upper aggregation is a bad choice. however, we can split the upper aggregation into two, then push down the first aggregation across left anti/semi joins, the second aggregation just rollups the result of the first to get the final result, in this new plan, the first aggregation can be materialized.
Original query69
The equivalent query that is rewritten from query69 manully to imitate aggregation pushdown.
Implementation contraint
Althrough SR support aggregation pushdown, however, it works in post-Memo time. materialized view adoption is determined in the in-memo/pre-memo time. so, we should support pushdown aggregation before entrance memo.