<오라클 성능 고도화 원리와 해법1> Ch05-06 페이지 처리의 중요성
오라클 성능 고도화 원리와 해법1 - Ch05-06 페이지 처리의 중요성 클라이언트/서버 환경에서 대용량 데이터를 조회할 때는 커서를 닫지 않은 채 사용자 이벤트(스크를 바를 내리거나 ‘다음’ 버튼을 클릭하는 등)가 발생할 때마다 결과 집합을 Fetch 하도록 구현할 수 있었다. 하지만 웹 애플리케이션 환경에서는 커서를 계속 오픈한 채로 결과 집합을...
오라클 성능 고도화 원리와 해법1 - Ch05-06 페이지 처리의 중요성 클라이언트/서버 환경에서 대용량 데이터를 조회할 때는 커서를 닫지 않은 채 사용자 이벤트(스크를 바를 내리거나 ‘다음’ 버튼을 클릭하는 등)가 발생할 때마다 결과 집합을 Fetch 하도록 구현할 수 있었다. 하지만 웹 애플리케이션 환경에서는 커서를 계속 오픈한 채로 결과 집합을...
오라클 성능 고도화 원리와 해법1 - Ch05-05 Fetch Call 최소화 지금부터 설명할 Fetch Call 최소화 원리 내용을 요약하면 다음과 같다. 부분 범위 처리 원리 OLTP 환경에서 부분 범위 처리에 의한 성능 개선 원리 ArraySize 조정에 의한 Fetch Call 감소 및 블록 I/O 감소 효과 프로그램 언어에...
오라클 성능 고도화 원리와 해법1 - Ch05-04 Array Processing 활용 Array Processing 기능을 활용하면 한 번의 SQL 수행으로 다량의 로우를 동시에 insert/update/delete 할 수 있다. 이는 네트워크를 통한 데이터베이스 Call을 감소시켜 주고, 궁극적으로 SQL 수행시간과 CPU 사용량을 획기적으로 줄...
오라클 성능 고도화 원리와 해법1 - Ch05-03 데이터베이스 Call이 성능에 미치는 영향 그림 5-3에 두 테이블이 있다. 데이터 모델을 보고 쉽게 짐작할 수 있듯이 ‘월요금납부실적’ 테이블은 고객별 납입방법별 납입요금을 컬럼 값으로 입력하고, ‘납입방법별_월요금집계’ 테이블은 납입 요금을 납입 방법 코드 별로 하나의 레코드로 입력하도록 하고 ...
오라클 성능 고도화 원리와 해법1 - Ch05-02 User Call vs. Recursive Call 앞에서는 데이터베이스 Call을 커서의 활동 상태에 따라 Parse, Execute, Fetch로 나누었는데, Call이 어디서 발생하느냐에 따라 User Call과 Recursive Call로 나눌 수도 있다. SQL 트레이스 파일을 TKPro...
오라클 성능 고도화 원리와 해법1 - Ch05-01 Call 통계 아래는 SQL 트레이스 레포트에서 Call 통계(Statistics) 부분만을 발췌한 것이다. 이 레포트는 커서의 활동 상태를 Parse, Execute, Fetch 세 단계로 나누어 각각에 대한 수행 통계를 보여준다. Parse Call은 커서를 파싱하는 과정에 대한 통계로서,...
오라클 성능 고도화 원리와 해법1 - Ch05 데이터베이스 Call 최소화 원리 - 개요 모든 소프트웨어가 그렇듯 데이터베이스도 사용자로부터 일정한 명령을 전달받아 사용자 요구사항에 따라 충실히 일을 수행하고 그 결과를 리턴한다. DB 관리자를 위한 명령어도 매우 다양하지만 이들 명령어는 정형화된 DB 작업만을 처리하므로 오라클 개발팀에 의해 이...
오라클 성능 고도화 원리와 해법1 - Ch04-11 Static SQL 구현을 위한 기법들 Dynamic SQL을 자주 사용하게 되는 첫 번째 이유를 앞에서 살펴보았다. 개발팀에 문의했을 때 두 번째로 많이 나온 사례는 조건에 IN-List 항목이 가변적으로 변할 때였다. 이를 포함해 Dynamic SQL을 Static SQL로 바꾸는 기법을 몇 가...
오라클 성능 고도화 원리와 해법1 - Ch04-10 Dynamic SQL 사용 기준 (1) Dynamic SQL 사용에 관한 기본 원칙 지금까지 설명한 라이브러리 캐시 최적화 원리와 Static, Dynamic SQL 정의에 비춰 Dynamic SQL 사용에 관한 기본 원칙을 다음과 같이 정리할 수 있다. Static SQL을 지원하는 개발...
오라클 성능 고도화 원리와 해법1 - Ch04-09 Static vs. Dynamic SQL 하드파싱 부하를 최소화하기 위해 Dynamic SQL 대신 Static SQL을 사용하라는 표현을 흔히 사용하는데, 용어를 제대로 사용하고 있는지 확인해볼 필요가 있다. 그런 뜻에서 라이브러리 캐시 최적화를 위한 Static SQL 작성 기법들을 소개하기 전...