GraphQL 목록 필드는 여러 객체를 반환하고, 그 안의 연관 필드 리졸버가 객체마다 별도 조회를 할 수 있습니다. 처음 목록을 읽는 1번의 쿼리에 행마다 추가 쿼리가 붙어 N+1 호출이 됩니다. 화면은 정상으로 보이지만 데이터가 커질수록 지연이 커집니다.
데모는 세 행의 연관 필드를 개별 조회할 때와 요청 단위 배치로 묶을 때의 DB 호출 수를 비교합니다. 배치 로더는 키를 모아 한 번에 읽고 결과를 각 키에 대응시켜야 합니다.
언제 쓰나
목록의 중첩 필드를 읽는 GraphQL API에서 DB 호출 수가 행 수에 비례할 때 점검합니다.