실행계획 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하여 원하는 데이터를 추출 합니다.
![]() | ![]() ![]() | 12-27 | 1786 | |
![]() | ![]() ![]() | 12-11 | 1302 | |
53 | ![]() ![]() | 03-15 | 1043 | |
52 | ![]() ![]() | 01-31 | 1201 | |
51 | ![]() ![]() | 01-31 | 1001 | |
50 | ![]() ![]() | 01-31 | 900 | |
49 | ![]() ![]() | 01-19 | 1202 | |
48 | ![]() ![]() | 01-11 | 1067 | |
47 | ![]() ![]() | 01-03 | 1546 | |
46 | ![]() ![]() | 12-27 | 1786 | |
45 | ![]() ![]() | 12-19 | 1314 | |
44 | ![]() ![]() | 12-14 | 1305 | |
43 | ![]() ![]() | 12-11 | 1302 | |
42 | ![]() ![]() | 12-09 | 1045 | |
41 | ![]() ![]() | 12-01 | 1210 | |
40 | ![]() ![]() | 12-01 | 1419 | |
39 | ![]() ![]() | 12-01 | 920 |
댓글 없음:
댓글 쓰기