반응형
- 옵티마이저란?
옵티마이저란 SQL을 가장 빠르고 효율적으로 수행할 최적(최저비용)의 처리 경로를 생성해 주는 DBMS 내부의 핵심 엔진을 말한다.
사용자가 SQL로 결과를 요구하면 이를 생하하는데 필요한 처리경로를 DBMS에 내장된 옵터마이저가 자동으로 생성해준다
옵티마이저가 생성한 SQL 처리경로를 실행계획(Execution Plan)이라고 부른다.
- 옵티마이저의 종류
1.Rule Based Optimizer
- 데이터베이스에 접근하는 경로를 찾는데, 사전 정의된 규칙을 사용하는 것을 말한다.
- 하나의 SQL에 대한 실행계획이 여러 개 있다고 할 때 가장 낮은 순위의 실행 계획을 항상 사용하는 방식이다.
2.Cost Based Optimizer
- 데이터베이스 정보를 활용(미리 구해놓은 테이블과 인덱스 정보 등등)하여 수행하는 것을 말한다.
- 데이터베이스 정보들은 생성된 테이블을 Analyze 명령에 의해 분석된 후에야 활용 가능
- Analyze 명령은 과부하를 초래하기 때문에 항상 최선의 선택은 아님.
반응형
'DB' 카테고리의 다른 글
ORM vs SQL Mapper (0) | 2022.02.18 |
---|---|
트랜잭션 격리수준(Isolation Level) (0) | 2022.02.18 |
SQL튜닝 방법론 (0) | 2016.12.29 |