HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🍗
[New] 조규현팀
/
🏗️
Tech Store
/
📄
Offset & Cursor 1부 [renewal]
📄

Offset & Cursor 1부 [renewal]

담당자들
카테고리
Skill
주제
페이징
나의 블로그
완료율%
프로젝트
인스타뀨램
상태
완료
What [페이징이란?]Why [페이징이란 것이 왜 필요할까?]How [페이징은 어떻게 사용하는데?]offset 방식cursor 방식페이징 방식 요약 정리다음 섹션에서는 좀 더 기술적인 관점에 차이에 대해 분석해볼 것이다.

What [페이징이란?]

🤜🏻
한 화면에서 보여주는 데이터의 범위를 결정하는 일련의 방법이다.
  • 비유해보자면, 책 페이지 처럼 데이터들을 묶음으로 분리하는 과정이라고도 할 수 있다.
 

Why [페이징이란 것이 왜 필요할까?]

✨
데이터들을 불러오기 위해 컴퓨터 세계에서 필요한 일련의 과정 속에서 우리의 자원은 무한하지 않기 떄문이다.
즉 서버는 이렇게 된다. OOM (자살)
notion image
 

How [페이징은 어떻게 사용하는데?]

  • 웹 개발 부분에 있어서 페이징은 2가지 방식이 존재한다.

offset 방식

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

cursor 방식

💡
일반적인 스마트폰 화면에서 많이 볼 수 있는 화면처럼 스크롤을 기반으로 하여 데이터가 존재 할 때까지 무한히 쓸어내리며 탐색하게 된다.
notion image
  • 여기서의 핵심 커서이다.
    • 커서는 특정 항목을 가리키는 포인터이다.
  • 백엔드 관점으로 보면 커서라고 불리우는 명명된 변수를 기반으로 데이터를 주기적으로 요청하게 된다.
    • 그것은 식별 값, 수정일, 작성일 등 이 될 수 도 있다.(이 외에 다른 것이 커서가 될 수있다)
  • 비교적 오프셋에 비해 신경써야 할 것들과 진입 장벽이 높지만 실시간 데이터를 처리함에 있어 사용된다.
 

페이징 방식 요약 정리

ㅤ
오프셋
커서
키워드
offset, limit
cursor
사용 시점
정적 데이터 처리
실시간 데이터 처리
 

다음 섹션에서는 좀 더 기술적인 관점에 차이에 대해 분석해볼 것이다.

  • 백엔드 관점에서의 두가지 방식의 차이
    • 포퍼먼스
    • 오프셋 방식의 동작 원리
    • 커서 기반 동작 원리
      • 예외 상황들