OFFSET 비용

OFFSET 페이지네이션 비용

페이지 번호가 깊어질수록 버릴 행이 많아집니다. 화면에는 10개만 보여도 DB는 그 앞의 많은 행을 확인해야 할 수 있습니다.

SELECT product_id, name, price
FROM products
ORDER BY created_at DESC, product_id DESC
LIMIT 10 OFFSET 990;

1페이지

0 skip
10 take
나머지

10: 읽고 반환

10페이지

90 skip
10 take
나머지

100: 앞 90개는 버림

100페이지

990 skip
10 take
나머지

1000: 깊을수록 부담 증가

장점

특정 페이지 이동이 쉽고 구현이 단순합니다.

OFFSET 페이지네이션 비용 한계

깊은 페이지에서는 앞 행을 건너뛰는 비용이 커집니다.

JOIN 연결 축

항상 ORDER BY와 고유 보조 키를 함께 둬야 경계가 안정됩니다.