An interactive SQL Execution Plan Viewer and Extended Events Analyzer built with Tauri + Vue + D3.js that provides visual analysis and performance insights for query execution plans and XEL traces.
- Install:
winget install PsyChonek.SqlPlanForDummies - Get a plan: In SSMS, enable "Include Actual Execution Plan" (Ctrl+M), run your query, and save as
.sqlplan - Analyze: Drag the
.sqlplanfile into the app and review performance insights
- Interactive D3.js Visualization: Color-coded nodes with performance indicators, operator icons, and dynamic line thickness
- Detailed Node Inspection: CPU time, I/O cost, memory grants, row counts, predicates, and execution statistics with searchable properties
- Automated Analysis: Detects table scans, missing indexes, implicit conversions, spills, and other performance issues
- Plan Comparison: Side-by-side visual comparison with cost delta analysis
- Tabbed Plan View: Switch between execution plan visualization and analysis results in a tabbed interface
- XEL Analyzer (Windows only): Extended Events (.xel/.xml) analysis with:
- Event timeline and filterable event table
- Deadlock detection and deadlock graph visualization
- Blocking chain correlation and lock chain diagrams
- Wait statistics dashboard with D3.js charts
- Session analysis and problem diagnostics
- Query History: Searchable history of executed queries with one-click plan loading
- Node Search: Filter node properties by keyword with match highlighting
- Export Options: PNG, SVG, and JSON export
- Native Desktop App: Fast, lightweight, offline-capable with auto-updates
- Tabbed Interface: Tabbed plan view with execution plan and analysis tabs
- Node Search: Filter node properties by keyword
- XEL Analyzer: Extended Events file analysis with deadlock and blocking diagnostics
- Dark/Light Mode: Theme toggle
- SSMS Integration: Right-click menu to open plans directly
- Index Advisor: AI-powered CREATE INDEX script generation
- Command Line Interface: CI/CD integration support
- PostgreSQL/MySQL Support: EXPLAIN format parsing
Winget (Recommended):
winget install PsyChonek.SqlPlanForDummiesMSI Installer: Download from Releases
Build from Source:
git clone https://github.com/PsyChonek/SqlPlanForDummies.git
cd SqlPlanForDummies
npm install
npm run tauri dev # Development
npm run tauri build # Production buildPrerequisites: Node.js 18+, Rust, WebView2
Getting a Plan from SSMS:
- Enable "Include Actual Execution Plan" (Ctrl+M)
- Run your query
- Right-click the plan → "Save Execution Plan As..." →
.sqlplan
Analyzing Plans:
- Load: Drag & drop
.sqlplanfile into the app - Navigate: Click/drag to pan, scroll to zoom, arrow keys to move between nodes
- Inspect: Click nodes to view details, costs, and predicates
- Search: Use the search box to filter node properties by keyword
- Analyze: Switch to the Analysis tab for automated performance warnings
- Compare: Load a second plan for side-by-side comparison
- Export: Save as PNG or SVG
Analyzing Extended Events (Windows only):
- Load: Drag & drop
.xelor exported.xmlExtended Events files - Browse: Filter and sort events in the event table
- Timeline: View event distribution over time in the Gantt-style timeline
- Deadlocks: Review detected deadlock graphs and victim processes
- Blocking: Inspect blocking chain diagrams to find root blockers
- Dashboard: Check wait statistics and problem summary metrics
- Frontend: Vue 3 + TypeScript + Vite
- Visualization: D3.js v7
- Desktop: Tauri 2.0 (Rust + WebView2)
- Supported: SQL Server 2012+
.sqlplanfiles (SSMS, Azure Data Studio)
Q: Is my data sent anywhere? A: No. The app runs entirely offline on your machine.
Q: What file types are supported?
A: SQL Server .sqlplan execution plan files and .xel/.xml Extended Events files. XEL analysis requires Windows with PowerShell.
Q: Does this work with PostgreSQL/MySQL? A: Not yet. Only SQL Server formats are currently supported.
Q: WebView2 not found error? A: Install Microsoft Edge WebView2 Runtime.
Contributions welcome! Fork the repo, create a feature branch, and open a PR. Follow the existing code style (ESLint + Prettier).
MIT License - see LICENSE for details.
Made for SQL Server DBAs and Developers by @PsyChonek
