728x90
반응형
SMALL

pagination 2

[SQL] ORDER BY Ties: 하나의 데이터가 여러 Page에 조회되는 이유

제가 아는 tie 는 넥타이 뿐입니다.라고 하실 분들을 위해(저도 포함입니다), 용어부터 짚고 넘어가보겠습니다.# 영어에서, tie = 묶다 / 연결하다 / 동점 => 스포츠 경기 동점되면, “The game is tied” 라고 표현# DB에서, ORDER BY tie = 정렬 기준 같은 row 존재 => “ORDER BY tie 발생했다" 라고 표현# tie-breaker = 동점을 깨는 기준 데이터 조회 쿼리에서 페이지네이션을 구현할 때 마주친 ORDER BY Ties 버그를 소개합니다.실제로는 1개의 행만 존재하는데, 1페이지와 2페이지에 동일한 데이터가 나타나는 현상을 겪었고, 그 원인과 해결 방법을 정리했습니다.문제 유형: 데이터베이스 — LIMIT/OFFSET 페이지네이션 불안정성문제: 1..

IT/DB 2026.03.30

[Oracle] 행 제한 구문 활용 페이징 처리 SQL 쿼리

행 제한특정 조건에 따라 행 개수를 제한하기 위해 사용하는 SQLSELECT *FROM USER_MST UMWHERE 1=1ORDER BY UM.USER_ID ASC NULLS LASTOFFSET {스킵할 건수} ROWSFETCH FIRST {보여줄 건수} ROWS ONLY;  예제하나의 페이지에 5개의 행을 나타낼 수 있고3번째 페이지인, 11~15번째 행을 조회하고 싶다면?SELECT *FROM USER_MST UMWHERE 1=1ORDER BY UM.USER_ID ASC NULLS LASTOFFSET 10 ROWSFETCH FIRST 5 ROWS ONLY;  파라미터로 페이징 처리pageNum = 3fetchNum = 5SELECT *FROM USER_MST UMWHERE 1=1ORDER BY UM..

IT/DB 2024.08.07
728x90
반응형
LIST