인덱스란
---인덱스 실습
CREATE TABLE emp_test (
emp_id NUMBER PRIMARY KEY,
emp_name VARCHAR2(50),
dept_id NUMBER,
salary NUMBER
);
BEGIN
FOR i IN 1..10000 LOOP
INSERT INTO emp_test
VALUES (i, '직원_' || i, MOD(i, 10), 1000 + MOD(i, 1000));
END LOOP;
COMMIT;
END;
/
set autotrace on;
select *
from emp_test
where emp_name='직원_9999';
create index idx_emp_name on emp_test(emp_name);
EXPLAIN PLAN FOR
select *
from emp_test
where emp_name='직원_9999';
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); --인덱스 사용여부 확인
-- 인덱스를 사용함
EXPLAIN PLAN FOR
select *
from emp_test
where emp_id >400;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
--400이상인 값은 많아서 인덱스 사용안하고 full scan함