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
Add rule 35: Expensive Operator, for an operator with at least 20% of a statement's time and no other finding #4527
Part of #4511, the sync of plan analysis changes from PerformanceStudio (PS) to PerformanceMonitor (PM). Needs #4513 and #4515 first.
PS rule 35 shows a costly operator that no other rule has advice for. It fires when an operator's own time is at least 20% of the statement's elapsed time and the operator has no other warning. The statement must have run for at least 1,000 ms. In a statement of a few milliseconds, one or two operators hold most of the time, so the share means nothing. Severity is Critical at 50% or more, else Warning, and the benefit is the self-time share.
Port it after the two self-time fixes. Before those fixes, the rule flags operators whose self-time is wrong, such as an exchange above a batch mode zone.
At 1899737f. dev has no later change to PerformanceMonitor.PlanAnalysis.
Fixed by #4550 (5509fa7), so this issue is closing. Rule 35 (Expensive Operator) flags an operator whose own time is at least 20% of a statement that ran for at least 1 second and that carries no other warning, Critical at 50% or more, matching PerformanceStudio. Its benefit percentage takes effect once the scorer is wired in (#4546).
Activity
Plan analysis: flag an expensive operator no other rule caught (#4550)
erikdarlingdata commentedon Sep 28, 2026
Claude posting for Erik Darling.
Fixed by #4550 (5509fa7), so this issue is closing. Rule 35 (Expensive Operator) flags an operator whose own time is at least 20% of a statement that ran for at least 1 second and that carries no other warning, Critical at 50% or more, matching PerformanceStudio. Its benefit percentage takes effect once the scorer is wired in (#4546).