스프링 데이터의 Page, Pageable을 활용
전체 카운트를 한번에 조회하는 단순한 방법
데이터 내용과 전체 카운트를 별도로 조회하는 방법
사용자 정의 인터페이스에 페이징 2가지 추가
전체 카운트를 한번에 조회하는 단순한 방법
searchPageSimple(), fetchResults() 사용
- Querydsl이 제공하는 fetchResults()를 사용하면 내용과 전체 카운트를 한번에 조회할 수 있다.
(실제 쿼리는 2번 호출) - fetchResults()는 카운트 쿼리 실행 시 필요없는 order by는 제거한다.
데이터 내용과 전체 카운트를 별도로 조회하는 방법
searchPageComplex()
- 전체 카운트를 조회하는 방법을 최적화 할 수 있으면 이렇게 분리하면 된다.
(예를 들어서 전체 카운트를 조회할 때 조인 쿼리를 줄일 수 있다면 상당한 효과가 있다) - 코드를 리펙토링해서 내용 쿼리와 전체 카운트 쿼리를 읽기 좋게 분리하면 좋다.
Reference
- 자바 ORM 표준 JPA 프로그래밍
- QueryDSL
'Spring > QueryDSL' 카테고리의 다른 글
사용자 정의 Repository (0) | 2021.06.19 |
---|---|
페이징 활용 2 - CountQuery 최적화 (0) | 2021.06.18 |
SQL function 호출하기 (0) | 2021.06.16 |
수정, 삭제 벌크연산 (0) | 2021.06.15 |
동적 쿼리 - Where 다중 파라미터 사용 (0) | 2021.06.14 |
댓글