반복 SELECT
게시글 N개를 가져온 뒤 작성자 조회가 N번 반복되면 응답 시간이 빠르게 늘어납니다.
Batch Loading
N+1 문제는 resolver가 편하게 나뉠수록 잘 드러나며, batching과 caching을 요청 범위에 맞춰 적용해야 합니다.
게시글 N개를 가져온 뒤 작성자 조회가 N번 반복되면 응답 시간이 빠르게 늘어납니다.
DataLoader는 같은 이벤트 루프 안의 여러 key 요청을 하나의 batch로 모읍니다.
모아진 id 목록으로 한 번에 DB를 조회하고 원래 key 순서대로 결과를 돌려줍니다.
같은 요청 안에서는 중복 조회를 줄이되 사용자별 권한 데이터는 요청별 loader를 사용합니다.