페이징을 사용하는 이유 - 목록이 100만개일때 100만개 전부를 select로 한번에 가져오는 것은 엄청난 부하가 걸린다
데이터베이스에서 데이터 양을 적당히 끊어서 가져오는 것을 페이징이라고 한다, 페이징에는 2가지 형태가 있다
Offset based paging - 페이지 번호를 찾아서 이동하는 페이징
select*
from book
order by likes desc
limit 10 offset 0;
데이터를 10개씩 가져와서 보여주고 0개씩 건너뛴다
limit - 가져오는 데이터의 갯수, offset - 건너뛸 데이터의 양
페이지 x번에 대하여 한 페이지에 y개를 보여주기
select *
from book
order by likes desc
limit y offset(x - 1) * y;
Offset paging의 단점
페이지가 뒤로 갈수록 데이터가 많아져서 성능상의 이슈가 발생할수 있고
사용자가 다음페이지로 넘어가려는 찰나에 게시글이 추가되면 본 게시글이 다음 페이지에서도 또 보이는 경우가 발생한다
이런 단점을 보완하기 위해서 cursor based 페이징을 사용한다
cusor paing의 경우 마지막으로 조회한 대상을 가르켜 페이징을 하는 방법
마지막으로 조회한 대상 그 다음부터 가져온다
이 erd를 바탕으로 쿼리문 가져오기
'학교 강의 > 데이터베이스' 카테고리의 다른 글
데베 퀴즈 대비 (1) | 2023.11.16 |
---|---|
10주차 (0) | 2023.11.10 |
조인, 서브쿼리 조금 더 알아본 내용 (0) | 2023.10.29 |
9주차 조인, 서브쿼리 (1) | 2023.10.27 |
데베시험대비 (0) | 2023.10.18 |