페이지네이션1 일대다 페이지네이션 최적화하기 일대다 컬렉션에 대한 페치 조인과 페이지네이션을 함께 사용하는 경우 다음과 같은 로그를 확인할 수 있습니다. 일대다 조인을 수행하는 경우 다 쪽의 데이터만큼 결과 row가 증가하기 때문에 DB에서 페이지네이션을 수행할 수 없습니다. 하이버네이트는 메모리 상에서 페이징을 시도하게 되면서 applying in memory라는 경고 로그를 남깁니다. 이러한 페이지네이션을 개선하기 위해서는 다음 2가지 방법을 사용할 수 있습니다. BatchSize 프로젝션 + IN절 쿼리 -> 애플리케이션 상에서 조인 수행 BatchSize BatchSize를 사용하기 위해서는 hibernate.default_batch_size를 이용해 글로벌로 설정하거나 @BatchSize를 일대다 컬렉션에 추가하여 개별적으로 설정할 수 있.. 2023. 12. 13. 이전 1 다음