Pagination 기법
페이지네이션 테크닉
엄청난 양의 데이터를 처리한다면..? 어떻게 해야할까?
서버는 클라이언트 요청을 나눠서 전송한다.
OFFSET 기반의 페이지네이션
> 구현이 단순하고 직관적이다.
> 데이터의 추가 삭제가 있는 경우 정확하지 않다.
SELECT * FROM table
ORDER BY id DESC
LIMIT [페이지사이즈]
OFFSET [페이지번호 * 페이지사이즈];
Cursor 페이지네이션
> 정확하게 마지막에 가져온 데이터를 기반으로 다음 데이터를 가져온다.
SELECT *
FROM post
WHERE id < [cursor]
ORDER BY id DESC
LIMIT [페이지크기]
커서 페이지네이션은 데이터의 일관성을 지킬 수 있고,
대규모 데이터셋에서도 퍼포먼스 유지가 가능하다.