참고
데이터베이스에서 결과 집합을 작은 덩어리(페이지)로 분할하여 효율적으로 관리하고 검색하는 기술
limit과 offset을 활용하여 페이징을 구현하는 방법
SELECT * FROM table
ORDER BY timestamp
OFFSET 10
LIMIT 5
구현이 간단하다는 장점이 있음
offset을 정말로 건너 뛰는 것이 아니라 한 번은 읽음
→ 만약 offset이 100만이라면 100만개의 데이터를 읽고 그 다음 limit으로 할당된 데이터를 읽음
사용자가 다음 페이지로 넘어가기 전에 새로운 데이터가 입력된다면 다음 페이지에서 중복된 데이터가 보일 수 있음
사용자가 다음 페이지로 넘어가기 전에, 현재 페이지의 데이터가 몇 개 삭제된다면, 다음페이지 상단 몇 개의 데이터는 누락됨
오프셋 페이징의 단점을 해결할 수 있는 페이징 기법
클라이언트가 가져간 마지막 row의 다음 row들을 n개 요청하는 방법
id 또는 타임스탬프를 기준으로 정렬하고, limit을 거는 방법을 사용
SELECT id, title
FROM `post`
WHERE id < (Id Cursor : 996)
ORDER BY id DESC
LIMIT 5
이때 사용자 쪽에서는 두 번째 페이지 이상을 조회할 시 기준이 되는 값을 같이 보내줘야 함

새로 생성되거나 삭제되는 데이터가 많아도, 사용자에게 중복되거나 누락된 데이터를 보여주지 않음
데이터가 많아도, 매우 빠르게 조회가 가능
정렬할 컬럼에 중복된 값이 존재하면 안되고, 순차적이어야 함
무한 스크롤이 아닌 경우 구현이 어려움
미리 몇 개의 페이지를 가져오기
SKIP 된 만큼 LIMIT을 주고 마지막 10개 또는 20개만 반환하는 방식