DataLoader 점검

N+1 해결은 배치 조회 로그 검증

게시물 목록 요청 안에서 author 필드가 여러 번 resolve되어도, 요청 컨텍스트의 로더가 ID를 모아 한 번의 조회로 묶는지 확인한다.

1

GraphQL 요청

posts { author }

하나의 요청 컨텍스트 안에서 필드 리졸버가 실행된다.

2

author resolver

각 Post는 usersLoader.load(authorId)를 호출한다.

3

Batch queue

101, 102처럼 필요한 ID만 모으고 같은 요청의 중복 키는 재사용한다.

4

UsersService

findByIds([101, 102])

콘솔에는 DataLoader 조회 로그가 한 번만 남는다.

컨텍스트 범위

로더는 요청마다 새로 만들어져 사용자별 캐시가 섞이지 않는다.

ID 순서 보존

배치 함수는 요청된 키 순서대로 User 배열을 되돌린다.

로그 기준

게시물이 늘어도 조회 로그는 고유 authorId 묶음 단위로 유지된다.