메뉴 건너뛰기

(*.106.188.101) 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기 첨부
Extra Form
출처 http://blog.naver.com/websearch/70037579638

오라클에서 SQL 문장(구문)을 실행하는 과정은 총 4단계로 이는 아래와 같다.

* 해석

* 최적화

* 행 소스 생성

* 구문 실행

websearch.jpg

각 단계에 대한 간략한 설명은 다음과 같다.

 

1. 해석

해석 단계에서는 다음과 같은 3 가지의 처리가 이루어진다.

* 구문 검사 : SQL 문이 규칙을 준수하고 있는지 검사한다.

* 의미 검사 : SQL 문의 객체가 데이터페이스에 유효한지 검사한다.

* 공유 풀 확인 : SQL 문이 다른 세션에서 처리된 적이 있는지 검사한다.


공유 풀 확인 과정은 좀 더 상세히 세분화하면 아래와 같다.

* SQL 문장의 해쉬 값을 계산한다.

* 공유 풀에서 SQL 문장의 해쉬 값과 일치하는 항목을 검색한다.

* 검색된 쿼리가 동일한 의미를 갖는지 확인한다.

 

2. 최적화

최적화는 옵티마이저에서 수행하게 되고 오라클 옵티마이저의 종류는 2가지로 이는 아래와 같다.


* 규칙 기반 옵티마이저 (RBO: Rule Based Optimizer )

 - 쿼리를 실행하는 방법을 규정하는 정적인 규칙에 따라 쿼리를 최적화한다.

 

* 효율 기반 옵티마이저 (CBO: Cost Based Optimizer )

 - 실제 이용된 데이터에서 얻은 통계를 이용해 쿼리를 최적화한다.

 

3. 행 소스 생성

행 소스 생성기는 옵티마이저의 결과를 받아 이를 실제 실행 계획으로 만들어내는 오라클 내부의 소프트웨어이다.

 

4. 구문 실행

구문 실행은 실행 엔진에서 담당한다. 실행 엔진은 행 소스 생성기의 결과를 받아 결과셋을 만들거나 테이블을 변경하는 프로세스이다.

 

[참고자료] Beginning Oracle Programming - 페이지 222 ~페이지 235