본문 바로가기
IT기술노트/데이터베이스

CBO, RBO

by 비트코기 2021. 3. 7.

I. CBO, RBO의 개요

가. CBO(Cost Based Optimizer)의 설명

항목

설명

개념

- 처리방법들에 대한 비용을 산정해보고 가장 적은 비용이 들어가는 처리 방법을 선택

특징

- 현실을 감안한 판단, 통계 정보의 관리를 통한 최적화 제어, 옵티마이저를 깊이 이해하고 있지 않더라도 최소 성능 보장, 실행 계획을 미리 예측, 제어가 어려움

원리

- 여러 가지 경우의 처리 시간에 비례한 비용을 산출해 내고, 이들 비용에서 가장 작은 비용을 갖는 플랜을 결정

- 실행 계획에 대한 소요 시간을 구하기 위해서 데이터 분포도 및 테이블, 인덱스와 클러스터의 저장 공간의 특징 등의 통계 정보를 이용하여 비용을 계산하여 선택하는 방법

- 특정 실행계획을 통한 SQL 명령문을 실행하는데 필요한 메모리, 디스크 I/O, CPU 시간을 계산

나. RBO(Rule Based Optimizer)의 설명

항목

설명

개념

- 조건문 syntax에 따라 조건 범위(Selectivity)를 미리 결정해 놓고 이를 기반으로 실행 계획을 수립

- 인덱스 구조나 비교 연산자에 따른 우선순위를 기준으로 최적의 경로를 설정하는 옵티마이저

특징

- 판단이 매우 규칙적이고 분명하여 사용자가 정확히 예측

RBO Rule

(우선순위)

- 번호가 낮을수록 좋은 성능을 내는 조건이기 때문에 우선 순위가 높게 부여됨

01. ROWID에 의한 단일 행 액세스

02. Cluster Join에 의한 단일 행 액세스

03. Unique-Key, Primary-Key를 사용한 HASH Cluster Key에 의한 단일 행 액세스

04. Unique-Key, Primary-Key에 의해 생성된 Unique INDEX에 의한 단일 행 액세스

05. CLUSTER 조인

06. Non Unique HASH Cluster Key

07. Non Unique Cluster Key(인덱스화된 Cluster-Key)

08. NON UNIQUE 결합 인덱스

09. 단일 칼럼 인덱스에 의한 동등 검색

10. 인덱스가 구축된 칼럼에 대한 제한된 범위 검색(BETWEEN, LIKE, < AND >, = 표현식)

11. 인덱스가 구축된 칼럼에 대한 무제한 범위의 검색(>=, =< 표현식)

12. 정렬-병합 조인

13. 인덱스가 구축된 칼럼에 대한 MAX, MIN

14. 인덱스가 구축된 칼럼에 대한 ORDER BY

15. 전체 테이블 스캔

 

반응형

'IT기술노트 > 데이터베이스' 카테고리의 다른 글

정적, 동적 인덱싱  (0) 2021.03.07
Dense, Sparse, Multilevel Index  (0) 2021.03.07
DB Index  (0) 2021.03.07
데이터베이스 보안  (0) 2021.03.07
옵티마이저(Optimizer)  (0) 2021.03.07
Statement와 Prepared Statement  (0) 2021.03.07
동적SQL  (0) 2021.03.07
Stored Procedure  (0) 2021.03.07

댓글