티스토리 뷰
Optimizer란?
사용자가 요청한 SQL을 가장 효율적으로 최적처리경로를 선택해주는 RDBMS의 두뇌
Optimizer 한계점
주어진 상황과 조건하에서 실행계획을 수립하도록 되어있지만, 수립된 실행계획이 항상 최적화는 아님. SQL의 성능 문제 해결을 위해선 실행계획을 읽고 이해해야한다.
Optimizer의 종류
1. RBO (Rule-Based Optimizer)
미리 정해진 규칙을 기반으로 판단 / SQL을 수행할 경우 소요될 비용에 대해 고려하지 않음
장점: B관리자의 지속적인 성능관리 불필요
단점: 비효율적인 실행계획 생성 가능성 / RDBMS에서 지원 및 개선 없음
2. CBO (Cost-Based Optimizer)
Data Dictionary들에 저장된 통계정보로 판단 / 병렬쿼리 및 인덱스 파티셔닝
장점: 현실 반영된 효율적인 실행계획 가능
단점: DB관리자가 지속적으로 성능관리
'프로그래밍 > Oracle' 카테고리의 다른 글
MyBatis if문 빈스트링값 처리 (0) | 2017.12.07 |
---|---|
INNER조인과 OUTER조인 (1) | 2017.12.06 |
댓글