Refigo Blog

<오라클 성능 고도화 원리와 해법1> Ch05-03 데이터베이스 Call이 성능에 미치는 영향

오라클 성능 고도화 원리와 해법1 - Ch05-03 데이터베이스 Call이 성능에 미치는 영향 그림 5-3에 두 테이블이 있다. 데이터 모델을 보고 쉽게 짐작할 수 있듯이 ‘월요금납부실적’ 테이블은 고객별 납입방법별 납입요금을 컬럼 값으로 입력하고, ‘납입방법별_월요금집계’ 테이블은 납입 요금을 납입 방법 코드 별로 하나의 레코드로 입력하도록 하고 ...

<오라클 성능 고도화 원리와 해법1> Ch05 데이터베이스 Call 최소화 원리 - 개요

오라클 성능 고도화 원리와 해법1 - Ch05 데이터베이스 Call 최소화 원리 - 개요 모든 소프트웨어가 그렇듯 데이터베이스도 사용자로부터 일정한 명령을 전달받아 사용자 요구사항에 따라 충실히 일을 수행하고 그 결과를 리턴한다. DB 관리자를 위한 명령어도 매우 다양하지만 이들 명령어는 정형화된 DB 작업만을 처리하므로 오라클 개발팀에 의해 이...

<오라클 성능 고도화 원리와 해법1> Ch04-11 Static SQL 구현을 위한 기법들

오라클 성능 고도화 원리와 해법1 - Ch04-11 Static SQL 구현을 위한 기법들 Dynamic SQL을 자주 사용하게 되는 첫 번째 이유를 앞에서 살펴보았다. 개발팀에 문의했을 때 두 번째로 많이 나온 사례는 조건에 IN-List 항목이 가변적으로 변할 때였다. 이를 포함해 Dynamic SQL을 Static SQL로 바꾸는 기법을 몇 가...

<오라클 성능 고도화 원리와 해법1> Ch04-09 Static vs. Dynamic SQL

오라클 성능 고도화 원리와 해법1 - Ch04-09 Static vs. Dynamic SQL 하드파싱 부하를 최소화하기 위해 Dynamic SQL 대신 Static SQL을 사용하라는 표현을 흔히 사용하는데, 용어를 제대로 사용하고 있는지 확인해볼 필요가 있다. 그런 뜻에서 라이브러리 캐시 최적화를 위한 Static SQL 작성 기법들을 소개하기 전...

<오라클 성능 고도화 원리와 해법1> Ch04-08 애플리케이션 커서 캐싱

오라클 성능 고도화 원리와 해법1 - Ch04-08 애플리케이션 커서 캐싱 세션 커서를 캐싱하면 SGA의 공유 커서를 빠르게 찾아서 커서를 오픈할 수 있다. 하지만 세션 커서 캐시에 있는 SQL을 수행하더라도 공유 커서 힙을 Pin 하고 실행에 필요한 메모리 공간을 PGA에 할당하는 등의 작업은 반복하게 된다. 이 과정마저 생략하고 빠르게 SQL을 ...

<오라클 성능 고도화 원리와 해법1> Ch04-07 세션 커서 캐싱

오라클 성능 고도화 원리와 해법1 - Ch04-07 세션 커서 캐싱 지금까지 설명한 것처럼 커서를 공유할 수 있는 형태로 SQL을 작성하면 하드 파싱을 최소화해 궁극적으로 시스템 확장성을 높일 수 있다. 그런데 하드 파싱을 하지 않더라도 SQL 구문을 분석해서 해시 값을 계산하고, library cache 래치를 획득한 후 라이브러리 캐시에서 커서를...