데이터 양이 적은 상태에서의 인덱스 실습은 대부분 TABLE ACCESS FULL
로 처리되기 때문에
인덱스 튜닝 효과를 체감하기 어렵습니다.
그래서 이번에 실습용 데이터를 양적으로 늘리고,
인덱스를 사용하는 쿼리와 사용하지 않는 쿼리의 차이를 분명히 체감할 수 있도록 해보겠습니다.
emp_large
테이블에 1만 건 이상의 데이터를 삽입job
컬럼 기준으로 단일 인덱스와 복합 인덱스 비교deptno + job
복합 인덱스 실습AUTOTRACE
/ EXPLAIN PLAN
을 통해 명확한 I/O 차이 확인CREATE TABLE emp_large (
empno NUMBER,
ename VARCHAR2(20),
job VARCHAR2(10),
sal NUMBER,
deptno NUMBER
);
BEGIN
FOR i IN 1..10000 LOOP
INSERT INTO emp_large
VALUES (
i,
'EMP_' || TO_CHAR(i),
CASE MOD(i, 4)
WHEN 0 THEN 'CLERK'
WHEN 1 THEN 'MANAGER'
WHEN 2 THEN 'SALESMAN'
ELSE 'ANALYST'
END,
MOD(i, 5000) + 1000,
MOD(i, 4)*10 + 10
);
END LOOP;
COMMIT;
END;
/
SET AUTOTRACE ON
SELECT * FROM emp_large WHERE job = 'MANAGER';