Skip to content

Commit f4df0b2

Browse files
Address issue #178 round 3 feedback (items 17-25)
* Address issue #178 round 3 feedback (items 17-22) - #17: Bump SubTreeCost threshold from 0.01 to 1.0 (Rules 3 & 20) — CTFP is an integer - #18: Smarter MaxDOPSetToOne severity — check query text for MAXDOP 1, detect truncation - #19: Already fixed by #20 - #20: Scope "allocated resources" message to Hash/Sort/Spool operators only - #21: Fix non-SARGable false positive when function is on parameter side - #22: Enrich parallelism warnings with targeted wait stats advice - #23: Enrich scan-with-predicate with cost %, elapsed %, row selectivity; elevate to Critical Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix parser skipping statements after DECLARE in multi-statement batches A Batch element can contain multiple <Statements> children (e.g., one for DECLARE and one for the SELECT). The parser used .Element() which only reads the first, causing "no plan loaded" when the actual query plan was in the second <Statements> block. Changed to .Elements() to iterate all of them. Reported by Joe Obbish via email (related to issue #178). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Show DECLARE/ASSIGN statements in plan viewer with proper icon Statements with no QueryPlan (like DECLARE/ASSIGN) were filtered from the statement tab list because they had no RootNode. Now creates a synthetic root node with the appropriate icon (assign/declare) so they appear as tabs alongside the actual query plans. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Add Rules 32 and 33: scan cardinality misestimate and CE guess detection Rule 32 (actual plans): When an expensive scan (>= 50% of plan) has a >= 10x row overestimate and < 10% selectivity, flag that the bad estimate likely caused the optimizer to choose a scan over a seek. Rule 33 (estimated plans): Detect well-known CE default selectivity guesses (30%, 10%, 9%, ~16.4%, 1%) on expensive scans against large tables (>= 100K rows). These patterns suggest the optimizer is using a default guess instead of accurate statistics. Addresses issue #178 items #24 and #25 (Joe Obbish feedback). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 5056f41 commit f4df0b2

File tree

2 files changed

+303
-21
lines changed

2 files changed

+303
-21
lines changed

0 commit comments

Comments
 (0)