Web Guide대용량 데이터페이징목록 성능
대용량 데이터 처리와 페이징 성능
게시물이 10만 건이 되면 목록 화면부터 느려집니다.
데이터가 적을 때는 보이지 않던 문제가 한꺼번에 드러납니다.

01왜 느려지는가
목록 한 페이지를 보여주려고 전체를 훑는 구조라면 데이터가 늘수록 느려집니다.
총 건수를 세는 작업도 무겁습니다.
01
전체 조회
필요한 것만 가져오지 않고 다 읽습니다.
02
총 건수 계산
페이지 번호를 만들려고 매번 전체를 셉니다.
03
뒷 페이지
뒤로 갈수록 건너뛰는 양이 많아 느려집니다.
04
정렬
정렬 기준에 준비가 없으면 매우 느립니다.
05
연관 조회
목록의 항목마다 추가 조회가 발생합니다.
06
검색
내용 전체를 뒤지는 검색은 특히 무겁습니다.
02개선 방법
구조를 바꾸면 데이터가 늘어도 속도가 유지됩니다.
색인 추가
자주 쓰는 조회와 정렬 기준에 준비를 해둡니다.
총 건수 생략
다음 페이지 유무만 확인하는 방식으로 바꿉니다.
기준점 방식
페이지 번호 대신 마지막 항목 기준으로 이어서 가져옵니다.
필요한 항목만
목록에 쓰지 않는 큰 내용은 가져오지 않습니다.
일괄 조회
항목마다 조회하지 않고 한 번에 가져옵니다.
캐시
자주 보는 첫 페이지는 저장해 둡니다.
03화면 방식 선택
페이지 번호가 항상 좋은 것은 아닙니다. 용도에 따라 다릅니다.
페이지 번호
특정 위치로 바로 이동 가능 · 전체 규모를 알 수 있음 · 총 건수 계산이 필요 · 관리자 화면에 적합
더보기와 무한 스크롤
성능에 유리 · 모바일에 자연스러움 · 특정 위치로 돌아가기 어려움 · 사용자 목록에 적합
04오래된 데이터 관리
모든 데이터를 한곳에 계속 쌓을 필요는 없습니다.
일정 기간이 지난 데이터를 별도로 옮깁니다.
보관할 필요가 없는 기록은 정리합니다.
집계용 데이터를 따로 만들어 둡니다.
용량이 큰 파일의 보관 기준을 정합니다.
데이터 증가 추이를 주기적으로 확인합니다.
CHECK POINT
□ 예상 데이터 규모를 제작사에 전달했는가
□ 자주 쓰는 조회 조건에 색인이 있는가
□ 총 건수 계산이 꼭 필요한지 검토했는가
□ 목록에서 불필요한 큰 데이터를 가져오지 않는가
□ 화면 방식을 용도에 맞게 선택했는가
□ 오래된 데이터의 보관 기준이 있는가
□ 데이터 증가 추이를 점검하고 있는가
#대용량 데이터#페이징#목록 성능#데이터베이스 최적화#색인#무한 스크롤#데이터 관리#홈페이지 개발#웹비스타#홈페이지 제작