무한스크롤 vs 페이지네이션 차이점

Lee Chanjoo·2022년 1월 17일
0

개요

인스타그램 클론코딩을 진행하면서 무한스크롤을 구현하게 되었는데, 페이지네이션 방식과 차이점 그리고 장단점을 알아보고자 한다.

리스트를 보여주는 두가지 방식

백엔드 api 설계시 리스트를 보여주는 방식에 대표적인 방법은 무한스크롤과 페이지네이션 방식이 있다.

왜 리스트를 전체를 불러오면 안될까?

ORM 쿼리 최적화와도 관련이 있다. 실제 서비스를 운영할 때 절대로 디비의 모든 데이터를 가져오는 all() 메서드를 써선 안된다. 데이터가 10억개 이상 무한히 많다고 가정할 때 이런 부적절한 쿼리는 DB 성능 저하를 유발하기 때문이다. 항상 리스트를 조회할 때에는 offset, limit 값을 통해 적절하게 쿼리를 호출하도록 해야한다.

페이지네이션

페이지네이션은 마치 책처럼 데이터를 페이지 단위로 구분한다. 대표적으로 구글 검색 결과가 페이지 네이션으로 구현되어있다. 페이지네이션의 가장 큰 단점은 새롭게 데이터가 생성될 때마다 다음 페이지에서 겹치는 현상이 발생한다는 점이다.

무한스크롤

무한스크롤을 구현할 땐, 정렬 기준이 매우 중요하다. 프론트 엔드로부터 마지막 게시글의 id 값을 쿼리 파라미터를 받아 그 다음 10개의 게시글들을 보여주도록 구현했다. 항상 최신순으로 보여줄 것을 가정했기 때문에 여기서 -id 값은 언제나 최신 순서대로 정렬되어있음이 보장되어있다. last_id 값을 통해 다음 게시글들을 불러오도록 구현했다.

profile
재밌는 개발이 하고싶은 사람

0개의 댓글