dataloader

실제 조회 단위 검토

GraphQL 필드는 여러 번 호출될 수 있으므로 로그와 쿼리 수를 함께 보며 DataLoader 배치 지점을 찾아야 합니다.

detect

조회 폭증 감지

리스트 필드 안에서 사용자, 댓글, 카테고리 조회가 반복되는지 로그로 확인합니다.

batch

배치 키 수집

같은 요청 안의 ID를 모아 한 번의 findByIds 호출로 바꿉니다.

cache

요청 캐시

DataLoader 캐시는 요청 범위로 두어 사용자별 데이터가 섞이지 않게 합니다.

verify

쿼리 수 검증

응답 시간보다 데이터베이스 호출 횟수가 실제로 줄었는지 확인합니다.

증상 게시물 20개를 조회할 때 작성자 쿼리도 20번 나가면 N+1 가능성이 큽니다.
해결 Resolver에서 직접 저장소를 부르지 않고 Loader를 통해 키를 모은 뒤 배치 조회합니다.
회귀 방지 테스트나 로그에 배치 호출 횟수를 남겨 새 필드 추가 시 반복 조회를 막습니다.