spring jpa1 [Spring data JPA] N+1 문제 해결 이렇게 이루어진 ERD 모델이 있다. (예시) 조건에 맞춰 불러오고자 하는 Data는 세 테이블의 정보를 모두 필요로 한다. 이때 Fetch join을 고려해볼 수 있다. Permission 입장에서 user와 document를 두번 다 fetch join 할 수 있지만, 이능 데이터 베이스 성능 상 엄청난 문제가 있다. 데이터가 많을 경우, 연관된 엔티티의 수를 제한하는 방법으로 쿼리를 나눠서 발생시키는 것도 좋은 방법일 것이다. 해당 엔티티들은 모두 FetchType.LAZY 로 설정되어 있다. 기존 쿼리 : val documents = documentQueryService.findDocumentsByIdFetchJoinPermissions(projectId) return Response.UserPe.. 2023. 2. 28. 이전 1 다음 반응형