페이지 처리의 중요성

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