데이터 양이 적은 상태에서의 인덱스 실습은 대부분 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';