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 |
댓글