6._페이지_처리의_중요성
2012.05.14 16:49
- 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
- 페이지 처리를 하지 않았을 때 발생하는 부하요인
- 다량의 Fetch Call 발생 (SQL*Net roundtrips to/from client)
- 대량의 결과 집합을 클라이언트로 전송하면서 발생하는 네트워크 부하
- bytes sent via SQL*Net to client)
- 대량의 데이터 블록을 읽으면서 발생하는 I/O 부하
- AP서버 및 웹서버 리소스 사용량 증가
- 페이지 처리
- 페이지 단위로, 화면에서 필요한 만큼씩 Fetch Call
- 페이지 단위로, 화면에서 필요한 만큼씩 네트워크를 통해 전송
- 인덱스와 부분범위처리 원리를 이용해 각 페이지에 필요한 최소량만 I/O
- 데이터를 소량씩 나누어 전송하므로AP/웹서버 리소스 사용량 최소화
- 조회할 데이터가 일정량 이상이고 수행빈도가 높다면 필수적으로 페이지 처리를 구현해야함
- 사용자가 필요시 ‘전체조회’ 또는 ‘다운로드 받기’ 버튼을 클릭할수 있도록 제공하는것이 바람직
- 페이지 처리 목적
- 데이터베이스 Call 횟수를 줄임
- 네트워크를 통한 데이터 전송량을 취소화
- 버내에서의 처리 일량 줄임
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
66 | 부록 | 남송휘 | 2012.06.05 | 2708 |
65 | 8._IO_효율화_원리 | 운영자 | 2012.06.05 | 4426 |
64 |
3._Deterministic_함수_사용_시_주의사항
![]() | 정찬호 | 2012.05.29 | 4351 |
63 | 2._Cursor_Sharing | 운영자 | 2012.05.28 | 6276 |
62 | 7._Result_캐시 | 운영자 | 2012.05.27 | 4426 |
61 |
3._Single_Block_vs._Multiblock_IO
![]() | 정찬호 | 2012.05.22 | 4229 |
60 |
2._Memory_vs._Disk_IO
![]() | 정찬호 | 2012.05.22 | 4446 |
59 |
1._블록_단위_IO
![]() | 정찬호 | 2012.05.22 | 4211 |
58 |
6장._IO_효율화_원리
![]() | 정찬호 | 2012.05.22 | 4085 |
57 |
1._Library_Cache_Lock_Pin
![]() | 남송휘 | 2012.05.21 | 4290 |
56 |
6._RAC_캐시_퓨전
![]() | 남송휘 | 2012.05.21 | 17797 |
55 | 5._Direct_Path_IO | 남송휘 | 2012.05.21 | 7932 |
54 |
4._Prefetch
![]() | 남송휘 | 2012.05.21 | 3889 |
53 | 8._PLSQL_함수_호출_부하_해소_방안 | 남송휘 | 2012.05.21 | 3773 |
52 | 5._Fetch_Call_최소화 [1] | 박영창 | 2012.05.15 | 6065 |
51 |
7._PLSQL_함수의_특징과_성능_부하
![]() | 남송휘 | 2012.05.14 | 6935 |
» | 6._페이지_처리의_중요성 | 남송휘 | 2012.05.14 | 3379 |
49 | 4._Array_Processing_활용 | 시와처 | 2012.05.13 | 4043 |
48 |
3._데이터베이스_Call이_성능에_미치는_영향
![]() | 시와처 | 2012.05.13 | 3645 |
47 |
10._Dynamic_SQL_사용_기준
![]() | 남송휘 | 2012.05.07 | 4556 |