Add benefit scoring for parallel skew and key lookup NL join#231
Merged
Conversation
- a17: Parallel Skew (Rule 8) now gets benefit scoring using operator's own elapsed time as % of statement elapsed, same as other operator-time rules - a4: Key Lookup benefit now includes the parent Nested Loops join when the NL only exists to drive the lookup (inner=lookup, outer=simple seek/scan with no children). Handles both actual and estimated plans. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Joe changed his mind on a17: parallel skew should be a property of each operator (consolidated with other improvements) rather than a standalone benefit score. Reverting the Parallel Skew dispatch; keeping the key lookup NL join scoring (a4). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
MaxBenefitPercentvia operator's own elapsed time, same pattern as other operator-time rules. Previously listed as "stays null" in the scorer.Test plan
🤖 Generated with Claude Code