오프셋 기반 페이지네이션은 왜 느린가요?

2024. 12. 22. 22:54CS/DB
목차
  1. 특정 오프셋 까지 데이터를 모두 조회하고 버린다.
  2. 스트리밍 처리가 아닌 버퍼링 처리를 거칩니다. (완벽한 이유는 아님)

특정 오프셋 까지 데이터를 모두 조회하고 버린다.

오프셋의 동작 방식은 0번 오프셋 부터 지정된 오프셋까지 데이터 조회를 모두 수행합니다.

그래서 Disk 인풋, 아웃풋이 오프셋 만큼 일어나게 되어 O(n)의 선형적인 구조를 띄어 느립니다.

스트리밍 처리가 아닌 버퍼링 처리를 거칩니다. (완벽한 이유는 아님)

쿼리문에 ORDER BY 나 GROUP BY 를 추가되면 버퍼링 방식으로 처리가 됩니다.

왜냐하면 결과를 모아두고 정렬 및 그룹핑을 해야하기 때문입니다.

  • 개선할 수 있는 방법이 존재합니다.
    • Index Sort 이용하기
      • 정렬 조건을 제한하고, 정렬 조건에 따른 인덱스를 생성하여 FileSort 를 사용하지 않게 합니다.

 

저작자표시 (새창열림)

'CS > DB' 카테고리의 다른 글

Isolation Level 종류  (0) 2024.12.22
Ordered UUID 대체 키 사용  (1) 2024.04.19
관계  (0) 2024.03.17
필드와 레코드  (0) 2024.03.17
도메인  (0) 2024.03.10
  1. 특정 오프셋 까지 데이터를 모두 조회하고 버린다.
  2. 스트리밍 처리가 아닌 버퍼링 처리를 거칩니다. (완벽한 이유는 아님)
'CS/DB' 카테고리의 다른 글
  • Isolation Level 종류
  • Ordered UUID 대체 키 사용
  • 관계
  • 필드와 레코드
wonow_
wonow_
꾸준히 성장하는 개발자 WONOW 입니다. 🤗
wonow_
wonow_
wonow_
전체
오늘
어제
  • 분류 전체보기
    • Language
      • JAVA
    • TIL
    • 코딩테스트
      • 프로그래머스
      • 백준
    • 프로젝트
      • JAVA
      • Spring
    • 기타
    • ERROR
      • Spring
    • CS
      • 알고리즘
      • DB
      • Kafka
    • 잡담
    • 활동
      • 척척박사

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 오블완
  • 티스토리 꾸미기
  • 나는바봉가봉가
  • 문자열 돌리기
  • 티스토리챌린지
  • 문자열 붙여서 출력하기
  • 공부열심히하자
  • 프로그래머스
  • 홀짝 구분하기

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
wonow_
오프셋 기반 페이지네이션은 왜 느린가요?
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.