We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Is your feature request related to a problem? Please describe:
Currently, when plan cache is enabled, point get is disabled for all cases:
func TryFastPlan(ctx sessionctx.Context, node ast.Node) Plan { if PreparedPlanCacheEnabled() { // Do not support plan cache. return nil } switch x := node.(type) { case *ast.SelectStmt: fp := tryPointGetPlan(ctx, x) if fp != nil { if checkFastPlanPrivilege(ctx, fp, mysql.SelectPriv) != nil { return nil } return fp } case *ast.UpdateStmt: return tryUpdatePointPlan(ctx, x) case *ast.DeleteStmt: return tryDeletePointPlan(ctx, x) } return nil }
However, according to Cacheable, we would not cache plan for DELETE/UPDATE at all, so we can enable point get for UPDATE/DELETE at least.
Cacheable
Describe the feature you'd like:
Try point get for DELETE/UPDATE when plan cache is enabled for better performance.
Describe alternatives you've considered:
Remove the PreparedPlanCacheEnabled() check at all for TryFastPlan. Will check whether it is safe later.
PreparedPlanCacheEnabled()
TryFastPlan
Teachability, Documentation, Adoption, Migration Strategy:
N/A
The text was updated successfully, but these errors were encountered:
After enhancing rebuildRange, point get for select is cacheable now, so we can just remove PreparedPlanCacheEnabled() check for TryFastPlan in total.
rebuildRange
Sorry, something went wrong.
eurekaka
No branches or pull requests
Feature Request
Is your feature request related to a problem? Please describe:
Currently, when plan cache is enabled, point get is disabled for all cases:
However, according to
Cacheable
, we would not cache plan for DELETE/UPDATE at all, so we can enable point get for UPDATE/DELETE at least.Describe the feature you'd like:
Try point get for DELETE/UPDATE when plan cache is enabled for better performance.
Describe alternatives you've considered:
Remove the
PreparedPlanCacheEnabled()
check at all forTryFastPlan
. Will check whether it is safe later.Teachability, Documentation, Adoption, Migration Strategy:
N/A
The text was updated successfully, but these errors were encountered: