728x90
728x90
PageImpl
-
[Spring] QueryDsl 페이징 쿼리 사용법JAVA/Spring(Springboot) 2023. 4. 8. 23:13
QueryDsl로 페이징 쿼리를 작성할 때 count 쿼리를 분리해서 사용하면 성능이 개선되는 경우가 있다. count 쿼리를 분리해서 작성하는 법을 알아보자. 우선 return 타입으로 PageImpl 방식과 PageableExecutionUtils.getPage 방식이 있다. PageImpl 방식은 totalCount를 구하는 쿼리를 무조건 실행하게 되지만, PageableExecutionUtils.getPage 방식은 필요한 경우에만 totalCount를 실행하게 할 수 있다. totalCount 쿼리 실행이 필요없는 경우는 생략해서 처리한다. - 페이지 시작이면서 컨텐츠 사이즈가 페이지 사이즈보다 작을 때 - 마지막 페이지일 때 (offset + 컨텐츠 사이즈를 더해서 전체 사이즈 구함) 코드를 ..