dataloader
실제 조회 단위 검토
GraphQL 필드는 여러 번 호출될 수 있으므로 로그와 쿼리 수를 함께 보며 DataLoader 배치 지점을 찾아야 합니다.
detect
조회 폭증 감지
리스트 필드 안에서 사용자, 댓글, 카테고리 조회가 반복되는지 로그로 확인합니다.
batch
배치 키 수집
같은 요청 안의 ID를 모아 한 번의 findByIds 호출로 바꿉니다.
cache
요청 캐시
DataLoader 캐시는 요청 범위로 두어 사용자별 데이터가 섞이지 않게 합니다.
verify
쿼리 수 검증
응답 시간보다 데이터베이스 호출 횟수가 실제로 줄었는지 확인합니다.
증상
게시물 20개를 조회할 때 작성자 쿼리도 20번 나가면 N+1 가능성이
큽니다.
해결
Resolver에서 직접 저장소를 부르지 않고 Loader를 통해 키를 모은 뒤
배치 조회합니다.
회귀 방지
테스트나 로그에 배치 호출 횟수를 남겨 새 필드 추가 시 반복 조회를
막습니다.