SQL Practice Logo

SQLPractice Online

Level 4 - Mid-LevelOptimization Questions

Optimization: CTE Materialization Risk

Choose the better query to avoid repeated heavy scans. Query A: WITH expensive AS (SELECT user_id, SUM(amount) AS total_spend FROM orders GROUP BY user_id) SELECT * FROM expensive e1 JOIN expensive e2 ON e1.user_id = e2.user_id; Query B: SELECT user_id, total_spend FROM (SELECT user_id, SUM(amount) AS total_spend FROM orders GROUP BY user_id) x;