문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
study:oracle:datadb:2week_1:chap1 [2010/05/13 10:43] newys |
study:oracle:datadb:2week_1:chap1 [2010/05/13 16:48] (현재) newys |
||
---|---|---|---|
줄 10: | 줄 10: | ||
==== 3.1.1 옵티마이져와 우리의 역할 | ==== 3.1.1 옵티마이져와 우리의 역할 | ||
- | - 숫자 목록 | + | - 관계형 데이터베이스의 출현배경 \\ : 데이터들 간에 물리적인 연결고리를 가지지 않아도 논리적인 연결고리만 있다면 원하는 데이터를 액세스 할 수 있다. \\ => |
- SQL? 요구서에 불과함. 표준언어로 채택한 것 | - 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 | ||
- | ⑮ 전체 테이블 스캔 | ||
- | </ | ||
- | * 단점 | ||
- | - 통계정보를 전혀 가지지 않음 | ||
- | - 경우에 따라 비현실적인 처리경로 수립 | ||
- | |||
- | < | ||
- | EX> 1,000,000 로우를 가지는 TAB1테이블과 100로우를 가지는 TAB2테이블의 로우수를 알지 못하기 때문에 | ||
- | | ||
- | |||
- | EX> 2종류의 값만 가지고 있어 평균분포도가 50%인 컬럼 A로 구성된 인덱스와 | ||
- | 10, | ||
- | 가진 컬럼 B로 구성된 인덱스가 존재. A=' | ||
- | 무조건 ‘=’로 사용한 컬럼A를 사용하는 것이 더 유리하다고 판단. | ||
- | </ | ||
- | |||
- | * 장점 | ||
- | - 수립될 처리경로 예측가능 | ||
- | - 사용자가 원하는 처리경로로 유도하기가 용이 | ||
- | - 일반적인 보편타당성이 있음(신뢰성) | ||