Subquery Problem
Subqueries run for each row. This can be slow.
Convert Subquery to JOIN
Slow (subquery runs many times):
SELECT * FROM students
WHERE id IN (SELECT student_id FROM enrollments);Fast (JOIN runs once):
SELECT DISTINCT s.*
FROM students s
JOIN enrollments e ON s.id = e.student_id;When Subqueries Are OK
- Small result sets
- One-time calculations
- EXISTS checks
Summary
- Subqueries in WHERE can be slow
- Try converting to JOIN
- Test both, keep the faster one