study:oracle:datadb:2week_1:chap1
문서의 이전 판입니다!
제 3장 SQL의 실행계획
SQL과 옵티마이져
옵티마이져 목표 : SQL로 요구된 결과를 최소의 비용으로 처리할 수 있는 처리 경로를 결정
SQL과 Optimizer의 관계
3.1.1 옵티마이져와 우리의 역할
숫자 목록 관계형 데이터베이스의 출현배경
: 데이터들 간에 물리적인 연결고리를 가지지 않아도 논리적인 연결고리만 있다면 원하는 데이터를 액세스 할 수 있다.
⇒논리적인 방법만으로 데이터를 찾을 수 있는 장치가 필요
SQL? 요구서에 불과함. 표준언어로 채택한 것
옵티마이져 ? 사용자의 요구에 따라 그 때마다 최적의 경로를 찾아 주는 역할 책임자
옵티마이져 실행계획에 영향을 주는 것들
옵티마이져는 단지 이미 존재하는 길들 중에서 하나를 선택해 주는 역할 ⇒ 사용자의 역할이 중요
3.1.2. 옵티마이져의 형태
규칙기반 옵티마이져 (RBO : Rule_based Optimizer)
인덱스 구조나 사용 연산자에 부여된 순위로써 최적경로 결정
① ROWID로 1로우 액세스
② 클러스터 조인에 의한 1로우 액세스
③ Unigue HASH Cluster에 의한 1로우 액세스
④ Unique INDEX에 의한 1로우 액세스
⑤ CLUSTER 조인
⑥ Non Unique Hash Cluster Key
⑦ Non Unique Cluster Key
⑧ Non Unique 결합 인덱스
⑨ Non Unique 한 컬럼 인덱스
⑩ 인덱스에 의한 범위처리
⑪ 인덱스에 의한 전체범위 처리
⑫ Sort Merge 조인
⑬ 인덱스 컬럼의 MIN, MAX처리
⑭ 인덱스 컬럼의 ORDER BY
⑮ 전체 테이블 스캔
단점
통계정보를 전혀 가지지 않음
경우에 따라 비현실적인 처리경로 수립
study/oracle/datadb/2week_1/chap1.1273714118.txt.gz · 마지막으로 수정됨: 2010/05/13 10:28 저자 starlits