Analyse SQL queries and ORM code for performance issues and missing indexes
From chaosnpx claudepluginhub jackscammell/parliament-of-chaos --plugin chaosAnalyse SQL queries or ORM code for performance problems: missing indexes, N+1 patterns, full table scans, and inefficient joins. Recommends specific indexes and query optimisations.
/analyse-queries [<path>] [--scan] [--sql <query>]
Examples:
/analyse-queries src/repositories/ # Analyse ORM queries in a directory
/analyse-queries --scan # Scan entire codebase for query patterns
/analyse-queries --sql "SELECT * FROM orders WHERE status = 'pending' AND created_at > '2026-01-01'"
<path> (optional): File or directory containing queries to analyse--scan (optional): Scan the entire codebase for query patterns--sql (optional): Analyse a specific SQL query stringDetect Query Patterns
Analyse Schema
Evaluate Each Query
Recommend Optimisations
CREATE INDEX statements# Query Analysis Report
## Issues Found: 7
### Critical: N+1 query in OrderRepository (src/repositories/OrderRepository.php:42)
- Pattern: Loading user for each order in a loop
- Fix: Use eager loading — `Order::with('user')->get()`
- Impact: ~100x fewer queries for typical page load
### High: Missing index on orders.status (src/migrations/create_orders.php)
- Query: `WHERE status = 'pending' AND created_at > ?`
- Fix: `CREATE INDEX idx_orders_status_created ON orders(status, created_at)`
- Impact: Table scan → index lookup
## Recommended Indexes
| Table | Columns | Type | Reason |
|-------|---------|------|--------|
| orders | (status, created_at) | composite | Covers status filter + date range |