PostgreSQL

Correlated subqueries execute once per row causing N+1 query problem

critical
performanceUpdated Jan 21, 2026
Technologies:
How to detect:

Correlated subqueries in SELECT lists execute once for each row in the outer query, causing severe performance degradation (N+1 problem) on large result sets.

Recommended action:

Replace correlated subqueries with JOIN or LATERAL JOIN patterns. Pre-aggregate data in subquery and join results to avoid per-row execution. Ensure proper indexes exist on join columns.