2017년 4월 17일 월요일

(구로디지털단지,IT실무,오라클강좌,자바강좌,Oracle Hint) 실행계획 SQL 연산(AND-EQUAL)

실행계획 SQL 연산(AND-EQUAL) 

이 연산은 로우 연산(ROW OPERATION)이며 인덱스에 의해 반환되는 값들(ROWID)을 병합해서 공통적인 값을 반환하는 연산 입니다. 

먼저 예를 보도록 하죠 

SQL> SELECT * 
      FROM  EM 
      WHERE JOB = ‘SALESMAN’ 
      AND  DEPTNO = 10; 

Execution Plan 
------------------------------------------------------------ 
0    SELECT  STATEMENT  Optimizer=CHOOSE 
1  0  TABLE ACCESS (BY INDEX ROWID) OF ‘EMP’ 
2  1    AND-EQUAL 
3  2      INDEX (RANGE SCAN) OF ‘idx_emp_job’ (NON-UNIQUE) 
4  2      INDEX (RANGE SCAN) OF ‘idx_emp_deptno’ (NON-UNIQUE) 

위의 실행 계획을 살펴보면 idx_emp_job 인덱스를 이용하여 job이 ‘SALESMAN’ 인 데이터를 추출하고 idx_emp_deptno 인덱스를 이용하여 DEPTNO가 10인 데이터를 추출한 후 두 데이터를 병합하여 공통적인 ROWID를 추출한 후 그 ROWID를 근거로 EMP 테이블을 SCAN하여 원하는 데이터를 추출 합니다.

댓글 없음:

댓글 쓰기