Query Process단계
Example Expression(From) | Transformation(to) |
---|---|
ename LIKE 'WARD' | ename='WARD' |
ename IN ('KING','WARD') | ename='KING' OR ename = 'WARD' |
ename=ANY/SOME('KING','WARD') | ename='KING' OR ename = 'WARD' |
deptno != ALL(10,20) | deptno != 10 AND deptno !=20 |
sal BETWEEN 2000 AND 3000 | sal >= 2000 AND sal <= 3000 |
NOT(sal<1000 OR comm is null) | sal >= 1000 AND comm IS NOT NULL |
Example Expression(From) | View Merging(tO) |
---|---|
{code:sql} CREATE VIEW emp_d10 AS SELECT * FROM emp WHERE deptno = 10 AND empno > 11910; {code} | {code:sql} SELECT empno FROM emp WHERE deptno = 10 AND empno > 11910; {code} |
Example Expression(From) | Sub-Query Mergin(to) |
---|---|
{code:sql}SELECT * FROM dept WHERE deptno = (SELECT deptno FROM emp WHERE empno < 12501 );{code} | {code:sql}SELECT * FROM dept WHERE deptno = <evaluated_value>; {code} |
소프트 파싱과 하드파싱
규칙기준의 옵티마이져의 우선순위 |
---|
|
emp테이블에 A인덱스가 deptno로 구성 B인덱스가 deptno + empno로 구성되어 있다면 옆 SQL 문장은A인덱스를 사용 하게 된다. 조건이 Bounded Range Search(Between)로 왔기 때문에 SQL 문장에서 (A)와 (B)의 랭킹은 (A) ==> Rank 9 , (B) ==> Rank 10 조건이 되므로 싱글 칼럼 인덱스를 사용하게 된다. |
비용기준 옵티마이져도 규칙기준 옵티마이져와 마찬가지로 전략적인 인덱스 구성과 효과적인 SQL을 사용하는 것이 우선적이다
DBMS_STATS패키지
SQL을 잘 활용한다는 것
지금까지 구현해왔던 거의 모든 처리 방법의 변화
처리를 위한 접근방법의 변화
사고의 혁신
비절차형 처리
집합적 사고에의한 처리
- 강좌 URL : http://www.gurubee.net/lecture/2478
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.