메뉴 건너뛰기

bysql.net

6._페이지_처리의_중요성

2012.05.15 01:49

남송휘 조회 수:3117


  • C/S
    • 데이터를 조회할때 커서를 닫지 않고 이벤트 발생시마다 결과 집합을 Fetch 가능
    • 커서 오흔푸 결과집합 핸들링 불가



  • 패치의 잘못된 예

i:= 0;
loop
fetch c into l_record;
exit when (c%notfound or (i=pageNo*pageSize));
i:=i+1;
if i> (pageNo-1) * pageSize then
printRow(l_record);
end if;
end loop;


  • 데이터를 계속 fetch 하다가 출력할 페이지에 도착하면 printRow를 호출해서 출력
  • 뒤페이지로 이동할수록 엄청나게 많은 Fetch Call 유발
  • 해결 -> 페이지 처리를 서버 단에서 완료후 출력할 결과만 fetch


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


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


  • 조회할 데이터가 일정량 이상이고 수행빈도가 높다면 필수적으로 페이지 처리를 구현해야함
  • 사용자가 필요시 ‘전체조회’ 또는 ‘다운로드 받기’ 버튼을 클릭할수 있도록 제공하는것이 바람직
  • 페이지 처리 목적
    • 데이터베이스 Call 횟수를 줄임
    • 네트워크를 통한 데이터 전송량을 취소화
    • 버내에서의 처리 일량 줄임



  • 오라클 고도화 원리와 해법 1 (bysql.net 2012년 1차 스터디)
  • 작성자:  남송휘
  • 최초작성일: 2012년 5 월 13 일
  • 본문서는 bysql.net 스터디 결과입니다 .본 문서를 인용하실때는 출처를 밝혀주세요. http://www.bysql.net
  • 문서의 잘못된 점이나 질문사항은 본 문서에 댓글로 남겨주세요. ^^


번호 제목 글쓴이 날짜 조회 수
26 3._SQL트레이스 sapius 2012.04.04 26849
25 8._Statspack_AWR 시와처 2012.04.01 11483
24 7._Response_Time_Analysis_방법론과_OWI file 시와처 2012.04.01 5743
23 6._V$SYSTEM_EVENT 시와처 2012.04.01 3310
22 4._동시성_구현_사례 [1] dasini 2012.03.27 11695
21 5._오라클_Lock file 시와처 2012.03.26 12577
20 3._비관적_vs._낙관적_동시성_제어 dasini 2012.03.26 6185
19 2._AutoTrace 남송휘 2012.03.26 2920
18 1._Explain_Plan 남송휘 2012.03.26 4328
17 3장._오라클_성능_관리 남송휘 2012.03.26 2896
16 2._트랜잭션_수준_읽기_일관성 file AskZZang 2012.03.20 6145
15 1._트랜잭션_동시성_제어 AskZZang 2012.03.20 4667
14 11._Shared_Pool 박영창 2012.03.19 3163
13 10._대기_이벤트 박영창 2012.03.19 10372
12 9._Snapshot_too_old 박영창 2012.03.19 9734
11 8._블록_클린아웃 시와처 2012.03.19 12005
10 7._Consistent_vs._Current_모드_읽기 file 시와처 2012.03.18 5499
9 2장._트랜잭션과_Lock AskZZang 2012.03.17 5251
8 6._문장수준_읽기_일관성 file 정찬호 2012.03.12 57274
7 4._Redo file 남송휘 2012.03.12 5379