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.