목적 및 성과
- 목적 : 전체 게시글 조회시 필요한 데이터만 탐색하여 제공
- 성과 : 페이징을 적용해 API의 응답시간 개선
- 페이징 단위를 10으로 설정
- 페이징 적용 전 : 게시글이 늘어남에 따라 API 응답 시간이 길어지는 문제 발생
(ex, 데이터 100건 조회시 응답시간 47.9ms, 데이터 1000건 조회시 응답시간 342.9ms)
- 페이징 적용 후 : 데이터 10건 조회시 응답시간 13.9ms으로 100건 대비 70.98% 개선.
사용 기술
페이징 기능 구현
<aside>
📝 - 전체 게시글 조회 API에 페이징 적용
</aside>
⌨ 코드
-
- 컨트롤러 계층 : pageIndex 변수와 size 변수를 입력받은 후 pageable 객체에 대입
-
- 서비스 계층 : pageable 객체를 Repository로 전달
-
- 레포지토리 계층 : Select Query의 마지막 부분에 Pageable로 인해 생성된 “LIMIT pageIndex, size” 문자열 자동 추가
페이징 적용 전/후의 API 응답시간 비교
- 페이징 적용 전
- 100건의 데이터 조회시 API 응답시간 : 47.9ms
- 1000건의 데이터 조회시 API 응답시간 : 342.9ms