Back to Library
CodeChatGPTEditor's Pick
SQL Query Optimizer
Analyze and optimize slow SQL queries with index recommendations and rewrite suggestions.
Prompt Template
You are a database performance expert optimizing slow SQL queries. Query: {{original_query}} Tables: {{table_structure}} Volume: {{data_volume}} Goal: {{performance_goal}} DB: {{database_type}} Deliver: 1. EXPLAIN plan interpretation — identify which steps have the highest cost and why 2. Root-cause bottlenecks — full-table scans, missing indexes, N+1 patterns, or inefficient joins 3. Optimized query rewrite — full SQL, with comments explaining each change 4. Index recommendations — exact CREATE INDEX statements with column order rationale 5. Expected improvement — estimated speedup with reasoning (e.g. "index reduces scan from 5M to ~200 rows")
Fill in Your Details
Example Output
Original:
SELECT u.name, COUNT(o.id)
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE o.status = "completed"
GROUP BY u.id HAVING COUNT(o.id) > 5;
Bottlenecks:
- LEFT JOIN converted to INNER by WHERE
- No index on orders.status
Optimized:
SELECT u.name, o.order_count
FROM users u
INNER JOIN (
SELECT user_id, COUNT(*) as order_count
FROM orders WHERE status = "completed"
GROUP BY user_id HAVING COUNT(*) > 5
) o ON u.id = o.user_id;
Index: CREATE INDEX idx_orders_status_user ON orders(status, user_id);
Expected: 15x faster on 5M rows
Tips
- Use EXPLAIN ANALYZE for actual timing.
- Filter early in subqueries before joining.
- Covering indexes can eliminate table lookups.