• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

count query 부분 질문이 있습니다.

21.05.28 01:39 작성 조회수 154

0

localhost:8080/v3/members/?page=0&size=110 또는 page=2&size=40 으로 조회했을 때에는 카운트 쿼리가 실행되지 않는 걸 확인 했습니다.

  1. 페이지 시작이면서 컨텐츠 사이즈가 페이지 사이즈보다 작을 때
  2. 마지막 페이지 일 때 (offset + 컨텐츠 사이즈를 더해서 전체 사이즈 구함)

이 두 경우는 이해를 했는데(1번의 경우 시작이면서 마지막 페이지니까)

page=1&size=110 또는 page=2&size=50 으로 조회할 경우 content.size()가 0인데도 카운트 쿼리가 실행됩니다.

메소드에서 size가 0이면 카운트 쿼리를 날리게 구현한 걸 봤지만 왜 이렇게 해뒀는지 도저히 상상이 안되네요. 이유를 알 수 있을까요? 허접한 질문이라 죄송합니다... 아직 부족한 게 많네요 ㅠㅠ

답변 1

답변을 작성해보세요.

0

김영한님의 프로필

김영한

지식공유자

21.05.28 21:38

안녕하세요. 현도님

이 부분은 저도 잘 모르겠습니다. 혹시 아시는 분 있으면 답변 부탁드려요.

감사합니다.

명아주님의 프로필

명아주

22.01.30 15:12

안녕하세요. 초보개발자 명아주입니다.

제가 답변달자면. 컨텐츠가 1개라도 있으면 사이즈를 계산할 수 있는데, 컨텐츠가 0개이면 몇개있길래 현재 페이지의 컨텐츠가 0인지 알 방법이 없습니다.

page=0 인경우, 사이즈가 0이라면 0개지만,

page!=0 일땐, 현재 컨텐츠 사이즈가 0 이면 몇페이지부터 없었는지 알방법이 없습니다.

 

감사합니다.