많은 양의 데이터를 어떻게 노출시킬 것인가?
- 다음 페이지 vs 스크롤
다음 페이지를 넘기는 방식 : 페이지네이션
페이지를 넘기지 않고 내리는 방식 : 스크롤
- 클라이언트가 원하는 페이지의 원하는 사이즈를 서버에게 요청
- 서버는 페이지와 사이즈에 따라 적절한 데이터를 스캔 (요청 내용 : page 0, size 2 → size를 2개로 나눴을 때 가장 첫번째 page를 요청하는것)
- 사이즈를 2로 나눴을 때 첫번째 데이터 2개를 찾아 해당하는 데이터를 반환
- 여기서는 6을 2개씩 나누면 3 → 첫번째 데이터는 1~2번 게시물 : 반환하는 것
- 대부분 서버는 전체페이지(totalPages) 혹은 전체 개수(totalElements)를 준다. (UI 상에서 마지막 페이지를 알아야 더보기 화살표를 표시하지 않기 때문)
3. 이번에는 페이지를 하나 올려서 다시 요청
4. 3, 4 게시물을 반환
- 이때, 3, 4번 게시물을 찾아가는 동안 DB는 1, 2번 데이터를 스캔
2023 KAKAO Tech Campus_BackEnd 필수 과정
DB(MySQL) 강의 정리 내용입니다.
'CS > 데이터베이스' 카테고리의 다른 글
페이지네이션 최적화 - 05. 커버링 인덱스 (0) | 2023.06.06 |
---|---|
페이지네이션 최적화 - 03. 오프셋 기반 페이징 구현의 문제(1) (0) | 2023.06.06 |
조회 최적화를 위한 인덱스 이해하기 - 08. 인덱스를 다룰 때 주의해야 할 점 (0) | 2023.06.04 |
조회 최적화를 위한 인덱스 이해하기 - 04. 클러스터 인덱스 (0) | 2023.06.04 |
조회 최적화를 위한 인덱스 이해하기 - 03. 인덱스 자료구조 (0) | 2023.06.04 |