index : 원하는 정보의 위치를 빠르고 정확하게 알아낼수 있는 방법
- 자동 생성 ( PRIMARY, UNIQUE )
- 수동 생성( QYERY 로 생성. 근데 잘 안함 )
-
생성해야 좋은 경우
- WHERE 절이나 JOIN 조건 안에 자주 사용되는 컬럼을 만들어 준다.
- NULL 값이 많이 포함되어 있는 컬럼
- WHERE 절이나 JOIN 조건 안에 자주 사용되는 두 개 이상의 컬럼들
-
생성했을 때 좋지 않은 경우
- 테이블이 10,000개 이하일 경우
- 테이블이 자주 갱신될 때
CREATE TABLE EMP_COPY
AS
SELECT * FROM EMPLOYEES;
ALTER TABLE EMP_COPY
ADD
CONSTRAINT PK_EMP_01 PRIMARY KEY(EMPLOYEE_ID);
-- 모든 인덱스를 확인하는 명령어
SELECT *
FROM ALL_INDEXES
WHERE INDEX_NAME IN('PK_EMP_01');
-- 강제 생성
-- 10000개가 넘었을 때 만들어주는 것이 좋다.
CREATE INDEX EMP_INDEX1
ON EMP_COPY(MANAGER_ID);
DROP INDEX EMP_INDEX1;
Comments