Advanced Query Optimization
Query Planning Deep Dive
-- PostgreSQL: Full EXPLAIN output
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT u.name, COUNT(o.id) as order_count, SUM(o.total) as revenue
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.created_at > '2026-01-01'
GROUP BY u.id, u.name
HAVING COUNT(o.id) > 5
ORDER BY revenue DESC
LIMIT 20;
-- Key metrics to watch:
-- actual time=X.X..Y.Y → execution time per node
-- rows=N → actual rows vs estimated
-- Buffers: hit=N → cache hits (good)
-- Buffers: read=N → disk reads (expensive)Partitioning
Connection Pooling (PgBouncer)
Materialized Views
Last updated
