게시판이나 API를 만들 때 우리는 관성적으로 OFFSET과 LIMIT을 사용하여 페이징을 구현하곤 합니다. 하지만 데이터가 수백만 건 이상 쌓인 환경에서 사용자가 1,000번째 페이지를 클릭하는 순간, 시스템은 비명을 지르기 시작합니다. 단순한 쿼리 하나가 왜 데이터베이스(DB) 전체의 성능 재앙을 불러오는지, 그리고 구글이나 인스타그램 같은 글로벌 서비스들은 이 문제를 어떻게 우아하게 해결하고 있는지 심층적으로 분석해 보겠습니다.1. OFFSET 방식의 치명적인 함정: "읽고 버리는 비용"대부분의 개발 입문자가 사용하는 방식은 다음과 같습니다. 10,001번째부터 100개의 데이터를 조회하고 싶을 때 우리는 보통 아래와 같은 SQL을 작성합니다.SQL -- 10,001번째부터 100개의 데이터를 조회..