1부 → 페이징의 대한 배경 및 요약 설명
- 페이징이란 무엇인가
- 왜 필요한가
- 어떻게 사용되어 지는가 UI 단에서
2부 - 방법론 비교 및 분석
- 자바에서 다루어지는 페이징 방법론
- 오프셋과 커서
- 두가지 중 어떤 면에서 차이가 있는지
- 그에 대한 포퍼먼스는 어떤지
What [페이징이란?]Why [페이징이란 것이 왜 필요할까?]How [페이징은 어떻게 사용하는데?]offset 방식cursor 방식페이징 방식 요약 정리다음 섹션에서는 좀 더 기술적인 관점에 차이에 대해 분석해볼 것이다.
What [페이징이란?]
한 화면에서 보여주는 데이터의 범위를 결정하는 일련의 방법이다.
- 비유해보자면, 책 페이지 처럼 데이터들을 묶음으로 분리하는 과정이라고도 할 수 있다.
Why [페이징이란 것이 왜 필요할까?]
데이터들을 불러오기 위해 컴퓨터 세계에서 필요한 일련의 과정 속에서 우리의 자원은 무한하지 않기 떄문이다.
즉 서버는 이렇게 된다. OOM (자살)

How [페이징은 어떻게 사용하는데?]
- 웹 개발 부분에 있어서 페이징은 2가지 방식이 존재한다.
offset 방식
페이지 번호를 통해 데이터들을 이곳 저곳 수 있다. 일련의 리모컨 처럼 사용할 수 있게 된다
- 백엔드 개발 관점에서 보면 특정 리밋(결과 수) 과 오프셋(건너뛸 갯수)을 사용하요 페이징 하는 기술이다.
- 비교적 다른 방식에 비해 사용하기 용이하며
정적 데이터에 주로 선언
이 된다.
- 정적 데이터란 페이지를 보고 있는 사이에 insert가 없는 영역에 사용하기 좋다.

cursor 방식
일반적인 스마트폰 화면에서 많이 볼 수 있는 화면처럼 스크롤을 기반으로 하여 데이터가 존재 할 때까지 무한히 쓸어내리며 탐색하게 된다.

- 여기서의 핵심
커서
이다. - 커서는 특정 항목을 가리키는 포인터이다.
- 백엔드 관점으로 보면 커서라고 불리우는 명명된 변수를 기반으로 데이터를 주기적으로 요청하게 된다.
- 그것은 식별 값, 수정일, 작성일 등 이 될 수 도 있다.(이 외에 다른 것이 커서가 될 수있다)
- 비교적 오프셋에 비해 신경써야 할 것들과 진입 장벽이 높지만
실시간 데이터를 처리함에 있어 사용
된다.
페이징 방식 요약 정리
ㅤ | 오프셋 | 커서 |
키워드 | offset, limit | cursor |
사용 시점 | 정적 데이터 처리 | 실시간 데이터 처리 |
다음 섹션에서는 좀 더 기술적인 관점에 차이에 대해 분석해볼 것이다.
- 백엔드 관점에서의 두가지 방식의 차이
- 포퍼먼스
- 오프셋 방식의 동작 원리
- 커서 기반 동작 원리
- 예외 상황들