You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Excessive Memory Grant does not say when an adaptive join ran as Nested Loops #4531
Part of #4511, the sync of plan analysis changes from PerformanceStudio (PS) to PerformanceMonitor (PM).
An adaptive join sizes its memory grant for its hash join branch. When it runs as Nested Loops, most of that grant goes unused, and that is expected. The Excessive Memory Grant finding (PlanAnalyzer.cs:163) does not say so. So the reader can chase a memory grant fix that does not apply.
erikdarlingdata/PerformanceStudio@4a5efa5 adds a note to the finding when an adaptive join ran as Nested Loops. Its HasAdaptiveJoinChoseNestedLoop checks node.IsAdaptive and whether node.ActualJoinType contains "Nested". PM already parses both fields (PlanModels.cs:217 and 220). Size S.
At 1899737f. dev has no later change to PerformanceMonitor.PlanAnalysis.
Fixed by #4548 (6b48a04), so this issue is closing. The Excessive Memory Grant finding now notes when an adaptive join ran as Nested Loops, so the unused grant is not read as a separate problem. Ported from PerformanceStudio.
Activity
Use Assert.Single's filter overload in the plan-sync tests (#4531)
Plan analysis: adaptive join note, truncated-text rule, UDF/serial de…
erikdarlingdata commentedon Sep 28, 2026
Claude posting for Erik Darling.
Fixed by #4548 (6b48a04), so this issue is closing. The Excessive Memory Grant finding now notes when an adaptive join ran as Nested Loops, so the unused grant is not read as a separate problem. Ported from PerformanceStudio.