-
Notifications
You must be signed in to change notification settings - Fork 5.7k
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
planner: fix the wrong cost formula for MPP net cost #32942
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/f9c186c24de87b9098254b1be00fc297388481fd |
if p.ctx.GetSessionVars().IsMPPEnforced() { | ||
p.cost = cst / 1000000000 | ||
cst /= 1000000000 |
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.
Should the p.cost /= 1000000000
at the same time(like the previous)?
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 think we don't need to change p.cost
here since cst
is the one that used to be compared with other plan costs so we have to change it to make the planner choose this plan.
Keeping p.cost
unchanged here can let us know the real cost of the plan when using explain format=verbose
, and the new test TestRowSizeInMPP
relies on this.
/run-unit-test |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: f9c186c
|
What problem does this PR solve?
Issue Number: close #30103
Problem Summary: planner: fix the wrong cost formula for MPP net cost
What is changed and how it works?
The original MPP net cost formula doesn't consider
rowSize/rowWidth
, this PR fixes it.Check List
Tests
Side effects
Documentation
Release note