Before: lazy 반복 조회 Q1SELECT users목록을 먼저 가져온다. Q2Q3Q4...Qn N번SELECT orders WHERE userId = ?사용자마다 같은 모양의 쿼리가 반복된다.
After: 필요한 관계를 한 번에 로드 JOINleftJoinAndSelectusers와 orders를 한 SQL 계획 안에서 가져온다. BATCHWHERE userId IN (...)목록의 id를 모아 관련 데이터를 한 번 더 조회한다. SELECT필요 컬럼만 반환관계 로딩과 projection을 같이 줄인다.