사용자 입장에서는 한건의 데이터라도 나온다면 안심하고 프로그램이 정상적으로 동작되고있는지 인식하므로 페이지 처리기법은 중요한듯하다.
클라이언트/서버환경 대용량데이터 조회시 커서를 닫지않고 이벤트가 발생할때마다 결과 집합을 Fetch 하도록 구현. ex) DBMS조회 툴들(Toad...)
웹 애플리케이션환경 커서를 계속 오픈한 채로 결과집합을 핸들링할 수 없슴. 그러므로, 사용자가 다음 패치를 요청하거나, 스크롤 바를 내릴 때마다 개별적인 SQL문을 수행하는 방식으로 페이지 처리를 구현
페이지 처리를 하지 않을때 발생하는 부하요인 1. 다량의 Fetch Call 발생 2. 대량의 결과 집합을 클라이언트로 전송하면서 발생하는 네트워크 부하 3. 대량의 데이터 블록을 읽으면서 발생하는 I/O 부하 4. AP 서버 및 웹 서버 리소스 사용량 증가
페이지 처리의 부하를 해소 하는 방법 1. 페이지 단위로, 화면에서 필요한 만큼씩 Fetch Call 2. 페이지 단위로, 화면에서 필요한 만큼씩 네트워크를 통해 전송 3. 인덱스와 부분범위처리 원리를 이용해 각 페이지에 필요한 최소량만 I/O 4. 데이터를 소량씩 나누어 전송하므로 AP , 웹 서버 리소스 사용량 최소화
개발자 라면 생각해서 만들어봄(기능적으로 제공을 하자) 몇백만건에 데이터를 조회할려고한다면 분석용이라면 첫째, 페이지 처리를 하자. 둘째, 엑셀로 다운을 받을수 있는 기능을 추가하자. 셋째, 추가 기능으로 전체조회기능 옵션으로 제공하자.