Open
Description
요약
커서 기반 페이징 적용하기
세부 설명
현재 offset 기반의 페이징의 경우 예를 들어 50,000 ~ 50,005 번째의 5개의 데이터를 조회해오기 위해서는 DB 디스크에서 50,005 개의 데이터를 모두 읽어와야하며 디스크를 읽을 때 랜덤I/O 가 발생해 성능상 문제가 많습니다.
이를 해결하기 위한 방법인 커서 기반의 페이징을 적용하여 50,000 ~ 50,005 번째의 5개의 데이터를 조회해오더라도 필요한 데이터인 5개만 디스크로 부터 읽어올 수 있도록 개선합니다.
우선은 가장 빈번한 조회가 일어나는 메인 페이지의 study 목록 조회에 대해서 적용합니다.
참고 : 커서 기반 페이지네이션 (Cursor-based Pagination) 구현하기
참고 : Faster Pagination in Mysql – Why Order By With Limit and Offset is Slow?