-
Notifications
You must be signed in to change notification settings - Fork 89
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
Modify the orca optimizer's processing of unionall distribution strategy #278
Conversation
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.
Hiiii, @Light-City welcome!🎊 Thanks for taking the effort to make our project better! 🙌 Keep making such awesome contributions!
related issue is #279. |
One tip: we can use |
ok |
…egy. The orca optimizer currently returns the ANY policy for the first child of a unionall-like node, which will result in Gather Motion for the downstream chi ldren and a 1:n Redistribution for the upstream. for example: -> Redistribute Motion 1:3 (slice2) -> Append (cost=0.00..863.91 rows=18001 width=12) -> Finalize Vec Aggregate -> Gather Motion 3:1 (slice3; segments: 3) ... -> Gather Motion 3:1 (slice4; segments: 3) -> HashAggregate after: -> Append (cost=0.00..863.91 rows=18001 width=12) -> Result (cost=0.00..431.06 rows=1 width=12) -> Redistribute Motion 1:3 (slice2) -> Finalize Aggregate -> Gather Motion 3:1 (slice3; segments: 3) ... -> HashAggregate When there are many nodes, the first plan will cause performance bottlenecks and need to be modified. Fortunately, the gpdb community has also modified th is. Commit is 0cd056a0a3d3c30a1d6d4479e67802b6673118c7.
After discussion, close the PR. |
Change logs
When there are many nodes, the first plan will cause performance bottlenecks and need to be modified. Fortunately, the gpdb community has also modified th is. Commit is 0cd056a0a3d3c30a1d6d4479e67802b6673118c7.
Why are the changes needed?
1.Affect performance
2.Plan is unreasonable
Does this PR introduce any user-facing change?
yes, tpcds 167 query.
How was this patch tested?
yes.
Contributor's Checklist
Here are some reminders and checklists before/when submitting your pull request, please check them:
make installcheck
make -C src/test installcheck-cbdb-parallel