대용량 공공데이터 조회 성능 최적화: 커버링 인덱스를 활용한 지연 조인(Deferred Join)과 No-Offset 페이징 설계
전국 단위의 약국, 공장, 사업장 등 수백만 건에 달하는 대용량 공공데이터를 RDBMS에 적재하여 서비스할 때, 뒷페이지로 이동할수록(OFFSET 100000 이상) DB CPU 점유율이 100%로 치솟거나 Response Time이 급증하는 성능 병목을 마주하게 됩니다. 이는 RDBMS 옵티마이저가 OFFSET 위치까지의 모든 레코드를 메모리로 읽어 들인 후 버리는 동작 방식 때문입니다. 이번 글에서는 커버링 인덱스(Covering Index)를 활용한 지연 조인(Deferred Join)…