What it does
Paste ShowPlan XML or drop a .sqlplan file. Each statement is drawn as an operator tree, right to left like SSMS or top down. Every operator shows its estimated cost share, the object it touches and its row counts. In actual plans it shows actual rows next to the estimate, and flags estimates that are off by 10x or more. Arrow thickness follows the number of rows.
Findings
The Findings list puts the likely problems first:
- Implicit conversions (
CONVERT_IMPLICIT) that block an index seek or skew estimates - Key and RID lookups, with the columns to add as
INCLUDEto remove them - Scans that read many rows to return a few
- Spills to tempdb and memory grant warnings
- Missing indexes, with a ready
CREATE NONCLUSTERED INDEX ... INCLUDE (...)statement and the optimizer’s impact estimate - Parameter sniffing: compiled vs runtime parameter values
- Row estimate errors, reported where they start rather than at every operator above
- Optimizer timeouts, no-join-predicate and missing-statistics warnings, and top waits
Click a finding to jump to its operator.
How to use it
- In SSMS, right-click the plan and choose Show Execution Plan XML, or save it as
.sqlplan. - Paste or drop it here. Use Fit, the zoom buttons or Ctrl+wheel, and drag to pan.
- Click any operator to see all its properties: predicates, seek keys, output columns, I/O and CPU estimates, actual executions and reads.
Privacy
The plan is parsed in your browser and never uploaded. It contains your query text and parameter values, so it stays in local storage only until you clear it.