오라클 성능 고도화 원리와 해법 I (2012년)
페이지 처리의 중요성 0 0 62,425

by 구루비스터디 페이지처리 [2018.03.20]


페이지 처리의 중요성

  • 사용자 입장에서는 한건의 데이터라도 나온다면 안심하고 프로그램이 정상적으로 동작되고있는지 인식하므로 페이지 처리기법은 중요한듯하다.


클라이언트/서버환경
  • 대용량데이터 조회시 커서를 닫지않고 이벤트가 발생할때마다 결과 집합을 Fetch 하도록 구현.
  • ex) DBMS조회 툴들(Toad...)


웹 애플리케이션환경
  • 커서를 계속 오픈한 채로 결과집합을 핸들링할 수 없슴.
  • 그러므로, 사용자가 다음 패치를 요청하거나, 스크롤 바를 내릴 때마다
  • 개별적인 SQL문을 수행하는 방식으로 페이지 처리를 구현


페이지 처리를 하지 않을때 발생하는 부하요인
  1. 다량의 Fetch Call 발생
  2. 대량의 결과 집합을 클라이언트로 전송하면서 발생하는 네트워크 부하
  3. 대량의 데이터 블록을 읽으면서 발생하는 I/O 부하
  4. AP 서버 및 웹 서버 리소스 사용량 증가


페이지 처리의 부하를 해소 하는 방법
  1. 페이지 단위로, 화면에서 필요한 만큼씩 Fetch Call
  2. 페이지 단위로, 화면에서 필요한 만큼씩 네트워크를 통해 전송
  3. 인덱스와 부분범위처리 원리를 이용해 각 페이지에 필요한 최소량만 I/O
  4. 데이터를 소량씩 나누어 전송하므로 AP , 웹 서버 리소스 사용량 최소화


개발자 라면 생각해서 만들어봄(기능적으로 제공을 하자)
  • 몇백만건에 데이터를 조회할려고한다면 분석용이라면
  • 첫째, 페이지 처리를 하자.
  • 둘째, 엑셀로 다운을 받을수 있는 기능을 추가하자.
  • 셋째, 추가 기능으로 전체조회기능 옵션으로 제공하자.
코어 오라클 데이터베이스 스터디 모임 에서 2012년에 오라클 성능 고도화 원리와 해법 I 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3113

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입