문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
database:seek_method [2022/03/22 17:28] kwon37xi [최종 형태] |
database:seek_method [2023/05/31 13:27] (현재) kwon37xi [seek method] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== seek method ====== | ====== seek method ====== | ||
+ | * 명칭이 명확하지 않음. | ||
+ | * seek method, keyset pagination 등으로 불리는 듯. | ||
+ | * [[java: | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | ===== offset/ | ||
* '' | * '' | ||
+ | * 또한, 페이지를 이동하는 사이에 '' | ||
+ | * 데이터 추가시 : 그 뒷 페이지에서 앞선 조회에서 나왔던 데이터가 새로 추가된 데이터로 인해 뒤로 밀리면서 뒷편 페이징에서 다시 출현하게됨. | ||
+ | * 데이터 삭제시 : 이번 페이지에서 맨 앞부분에 조회되었어야할 데이터가 앞 선 페이지에서의 데이터 삭제로 바로 앞 페이지 쪽으로 이동하면서 조회가 안되고 누락되는 현상 발생. | ||
+ | * 거기에다 '' | ||
+ | ===== seek method ===== | ||
* 이를 해결하려면 PK id 값으로 정렬을 하고(보통은 '' | * 이를 해결하려면 PK id 값으로 정렬을 하고(보통은 '' | ||
* 처음에는 PK값 제약없이 조회, 조회 결과 limit 이 10이면 마지막 PK값 기억 | * 처음에는 PK값 제약없이 조회, 조회 결과 limit 이 10이면 마지막 PK값 기억 | ||
줄 6: | 줄 18: | ||
* 물론 **desc 일 때**는 '' | * 물론 **desc 일 때**는 '' | ||
* 이 방식을 '' | * 이 방식을 '' | ||
+ | * 조회 일관성을 위해 일정한 '' | ||
+ | |||
===== 주의 ===== | ===== 주의 ===== | ||
줄 40: | 줄 54: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ |