Daily coding
Oracle day 7 - Index 인덱스 본문
INDEX
        INDEX = 색인 
        - 원하는 정보의 위치를 빠르고 정확하게 알아낼 수 있는 방법 
        -- 자동생성 : Primary Key, Unique 은 자동적으로 생성됨 
        -- 수동생성 : Query문으로 생성하기 
         
        생성을 했을 때 효율적인 경우 :  
        1. WHERE절이나 JOIN 조건안에 자주 사용되는 column  
              예) department_id 
        2. NULL 값이 많이 포함되어 있는 column 
              예) manager_id
        3. WHERE절이나 JOIN 조건 안에 2개 이상 사용하는 column 
         
        생성을 했을 때 비효율적인 경우 : 
        1. 테이블의 크기(row의 개수가 작을 때) 가 적을 때 (3000개 이하) 
        2. 테이블이 자주 갱신될 때 
-- 제약조건이 없는 EMPLOYEES 테이블 카피하기 
CREATE TABLE EMP_COPY 
AS 
SELECT * FROM employees; 
-- 자동생성 (프라이머리 키 추가하면 인덱스가 자동으로 생성된다) 
ALTER TABLE EMP_COPY 
ADD 
CONSTRAINT PK_EMPCOPY_01 PRIMARY KEY (employee_id); 
-- INDEX 확인하기 
-- WHERE에 조건을 적용하면 특정 인덱스만 조회할 수 있음 
SELECT  * FROM ALL_INDEXES 
WHERE index_name = 'PK_EMPCOPY_01'; 
-- 인덱스 강제 생성 
-- CREATE INDEX  ON 
CREATE INDEX EMP_INDEX01 
ON EMP_COPY ( MANAGER_ID);  
-- 만들어졌는지 확인하기 
SELECT  * FROM ALL_INDEXES 
WHERE index_name IN('EMP_INDEX01'); 
-- 지우기 
DROP INDEX EMP_INDEX01;
'DB > Oracle' 카테고리의 다른 글
| Oracle day 8 - PL : Procedure 프로시저 문 & Cursor 커서 (0) | 2019.12.20 | 
|---|---|
| Oracle day 7 - PL ( Procedural Language) : 기본문법 및 Script 구조, VArray, (0) | 2019.12.19 | 
| Oracle day 7 - view & sequence 문제 (0) | 2019.12.19 | 
| Oracle day 7 - SEQUENCE 시퀀스 & SYNONYM 동의어 (0) | 2019.12.19 | 
| Oracle day 7 - View 뷰 & 테이블 (0) | 2019.12.19 |