💡 개요
오늘은 테이블에서 데이터를 조회할 때 쿼리에서 사용되는 Offset이 뭔지 정리해 보자.
📕 Offset
Offset은 데이터베이스의 쿼리에서 특정 위치에서부터 데이터를 반환하도록 하는 기준점을 의미한다.
즉, 테이블에 저장된 데이터를 Offset에 설정된 위치부터 조회하는 것이다.
그런데 Offset의 문제는 Offset에 설정된 위치까지 도달하기 위해 데이터를 건너뛰며 순차적으로 접근해야 한다.
만약 1000번째 Offset이 설정되어 있다면 앞에 있는 999개의 데이터를 먼저 조회해야 하는 것 이다. (쉽게 생각하면 Offset은 테이블에서 건너뛰어야 하는 행의 수와 일치한다)
이러한 문제를 해결하기 위해 많은 개발자들은 보통 PK(Primary Key)와 같은 ID 컬럼을 활용한다.
대부분의 경우 PK는 Auto Increment로 설정되어 있기 때문에, 특정 ID 값을 기준으로 데이터를 바로 조회할 수 있기 때문이다.
이를 통해 불필요하게 순차적으로 데이터를 조회할 필요가 없어진다.
이러한 방식을 Offset을 사용하지 않기 때문에 No Offset 방식이라고 표현한다.
'개발 일기' 카테고리의 다른 글
[개발 일기] 2025.04.09 - 정형 데이터 vs 비정형 데이터 (1) | 2025.04.09 |
---|---|
[개발 일기] 2025.04.08 - 리퍼러 정책 (1) | 2025.04.08 |
[개발 일기] 2025.04.06 - 즉시로딩을 피해야 하는 이유 (1) | 2025.04.06 |
[개발 일기] 2025.04.05 - N+1 문제 (JPA) (0) | 2025.04.05 |
[개발 일기] 2025.04.04 - isBlank() vs isEmpty() (0) | 2025.04.04 |