웹서핑을 하다 게시물들이 많은 페이지에 접속하게 될 때, 어떠한 사이트에서 검색을 했더니 검색결과가 엄청 많이 떴을 때
지속적으로 정보를 보기 위해 스크롤을 밑으로 내리거나 페이지 목록을 넘긴 적이 있을 것이다.
이와 같이 한눈에 확인 하기 힘든 양에 데이터를 보여줘야할 때 지속적으로 데이터를 보여주는 방식이 Pagination 혹은 Paging 이라고 한다.
보통 Pagination은 필요한 갯수를 지정하고 상황에 맞춰 정렬기준이 조건에 추가되는 방식이다.(정렬기준 + 갯수)
Pagination은 처리방식에 따라 두가지로 나눠지는데
Mysql에서는 LIMIT쿼리와 offset 쿼리에 ' ' 콤마를 붙여 사용 개수를 및 건너 뛸 row(페이지수)지정 할 수 있었는데
직관적이라 보기 편하고 이해하기 쉬워 쓰기 편하다는 장점이 있지만,
사용자가 늘어나 데이터 변화가 빠르게 흘러가는 사이트에서는 페이지를 넘겨도 중복되는 데이터가 보여질 수 있다는 문제점이 있다.
https://daeuungcode.tistory.com/128
즉 cursor(기준점 혹은 row)를 만들어서 "이 cursor가 가리키는 것 다음 부터 n개의 데이터를 불러와주십쇼!
하는 방식이다.
첫번째 설명했던 오프셋 기반 페이지네이션의 문제점이 어느정도 보완된 방식이라고도 볼 수 있다.