2208##_TIL : Page와 Slice

백승한·2022년 8월 24일
0

프로젝트 과정 중에 게시글의 총 개수가 필요하다는 변경사항이 나왔다.

Spring Data JPA에서는 PageRequest 객체를 통해 페이징을 할때 반환형으로 Page와 Slice를 사용한다.
두 객체의 결과물과 성능은 어떤 차이가 있는지 확인해보자 !

page는 조회쿼리 이후 전체 데이터 갯수를 한번더 조회하는 카운트 쿼리가 실행된다.

slice는 limit(size)+1 된 값을 가져오는것을 확인할 수 있다.

정리

slice는 카운트쿼리가 나가지 않고 다음 slice가 존재하는지 여부만 확인할 수 있기때문에, 데이터 양이 많으면 많을수록 slice를 사용하는것이 성능상 유리하다.

page는 게시판과 같이 총 데이터 갯수가 필요한 환경에서,
slice는 모바일과 같이 총 데이터 갯수가 필요없는 환경에서(무한스크롤 등),
각각 필요한 용도에 알맞게 쓰면된다.

[SpringBoot] Spring Data JPA 에서 Page와 Slice

profile
방문해주셔서 감사합니다🙂

0개의 댓글