이 글을 작성하게 된 이유이번 프로젝트에서는 gRPC 기반의 채팅 서비스를 새롭게 구현하면서, 이미지 전송까지 마무리한 뒤 PR을 올리고 뿌듯해하던 중,팀원으로부터 “페이징을 적용해보면 좋을 것 같다”는 코드 리뷰를 받았습니다.사실 저도 페이징을 고려하고 있었기에 “좋은 기회다” 싶어 성능 개선을 목표로 페이징을 직접 적용했습니다.그리고 여러 페이징 기법 중 어떤 방식을 선택했고, 왜 그렇게 결정했는지를 정리해두면 좋을 것 같아 이 글을 작성하게 되었습니다. 페이지네이션이란?검색결과를 가져올 때 데이터를 쪼개 번호를 매겨 일부만 가져오는 기법입니다. 왜 사용했는가?사용자가 채팅방에 들어올 때, 모든 채팅 내역을 한 번에 조회한다면 어떨까요?채팅이 10개, 20개 정도일 때는 큰 문제가 없지만, 내역이 1..