-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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: refine prefer-range-scan behavior #27123
planner: refine prefer-range-scan behavior #27123
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. |
/sig planner |
/cc @winoros |
planner/core/explain.go
Outdated
@@ -322,7 +322,13 @@ func (p *PhysicalTableScan) isFullScan() bool { | |||
return false | |||
} | |||
for _, ran := range p.Ranges { | |||
if !ran.IsFullRange() { | |||
var unsignedIntHandle bool | |||
if p.Table.PKIsHandle { |
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.
This can be treated as a tiny bug-fix?
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.
Yes, so do we need to split it to another pr?
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.
Here is okay.
Also please fix the failed cases. |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 9632446
|
/need-cherry-pick |
/cherry-pick-5.1 |
What problem does this PR solve?
Issue Number: close #27228
Problem Summary:
What is changed and how it works?
IsFullRange
check. The full range of the unsigned int handle table scan is[0, +inf]
, which is regarded as not full range byIsFullRange
. The PR fixes it.tidb_opt_prefer_range_scan
as global/session switch.Check List
Tests
Side effects
Documentation
Release note