요르딩딩
[DB] 옵티마이저 (Optimizer) 본문
728x90
반응형
옵티마이저란
사용자가 질의한 SQL문에 대해 최적의 실행 방법(실행계획: Execution Plan)을 결정하는 역할을 수행합니다.
옵티마이저가 최적의 실행방법을 결정하는 방식에 따라
- 규칙기반 옵티마이저(RBO, Rule Based Optimizer)
- 비용기반 옵티마이저(CBO, Cost Based Optimizer) > 현재 대부분의 데이터베이스는 비용기반 옵티마이저만 제공
로 구분됩니다.
- 규칙기반 옵티마이저
규칙(우선순위)를 가지고 실행계획을 생성합니다.
- 비용기반 옵티마이저
규칙기반 옵티마이저의 단점을 극복하기 위해 출현했습니다.
> 대안 계획 생성기 : 동일한 결과를 생성하는 다양한 대안 계획을 생성하는 모듈
> 비용 예측기 : 대안 계획 생성기에 의해서 생성된 대안 계획의 비용을 예측하는 모듈
( 비용기반 옵티마이저는 인덱스를 사용하는 비용이 전체 테이블 스캔 비용보다 크다고 판단되면 전체 테이블 스캔을 수행하는 방법으로 실행계획을 생성할 수도 있다.)
출처: https://cornswrold.tistory.com/81 [평범한개발자노트]
728x90
반응형
'[Web] > [DB & Mybatis]' 카테고리의 다른 글
Jsonb 타입 사용 (0) | 2021.10.01 |
---|---|
[DB] Data Base Connection Pool (커넥션 풀) (0) | 2021.08.20 |
[DB] mybatis trim (0) | 2021.06.10 |
[DB] 쿼리 최적화 (0) | 2021.05.28 |
[DB] 인덱스 장점/단점 (0) | 2021.05.21 |
Comments