생각하는 감쟈

[Oracle] SQL 객체_04 : INDEX 본문

Language/Oracle

[Oracle] SQL 객체_04 : INDEX

생각하는 감쟈🥔 2024. 4. 1. 14:24

 INDEX 객체 


 - 자료 검색의 효율성을 증대 시키기 휘한 객체
 - DB SERVER의 성능은 검색의 효율성에 가장 민감하게 반응
 - 인덱스는 자료 검색시 전체를 비교하지 않고 각 행을 대표하는 컬럼 값과
   해당 컬럼의 나머지 데이터가 저정된 주소로 구성된 인덱스파일을 별도로
   구성하여 검색시 인덱스를 검사하고 일치하는 값의 주소를 참조하여 나머지 자료를 추출함
  - DBMS의 부하를 줄여서 DB SERVER의 전체 성능을 향상


  - [단점]
   . 별도의 공간 필요 (인덱스 파일)
   . 인덱스 파일 관리에 시간과 비용이 소요
   . 자료의 지속적인 변경(수정.삭제.삽입)이 발생되는 경우 비효율적
   
  - INDEX의 종류

    . UNIQUE / NON-UNIQUE
    . SINGLE / COMPOSITE INDEX
    . NORMAL / BITMAP / FUNCTION BASED NOMAL INDEX

 

 사용형식)

  CREATE [UNIQUE|BITMAP] INDEX 인덱스 명
      ON 테이블명(컬럼명[,컬렴명,...]) [ASC|DESC]
      
      .[ASC|DESC] : 오름차순 또는 내림차순으로 된 인덱스, 기본은 ASC


  
  사용예)

    SELECT *
      FROM HHR.EMPLOYEES
     WHERE PHONE_NUMBER = '515.124.4269'; --0.003 초
     
     CREATE INDEX IDX_EMP_TEL
         ON HR.EMPLOYEES(PHONE_NUMBER); -- 인덱스 만들고 다시 실행

    SELECT *
      FROM HHR.EMPLOYEES
     WHERE PHONE_NUMBER = '515.124.4269'; --0.002초 소요


 

** 인덱스의 재구성
   - 인덱스는 2진 트리구조로 구선되어 인덱스 구성항목의 삽입, 삭제, 갱신시 인덱스가 재 구성되어야 함
   - 재구성의 실행을 강제시키는 명령어 rebuild 
   
 (사용형식)
  ALTER INDEX 인덱스명 REBUILD
   . 테이블과 인덱스 파일이 다른 테이블 스페이스로 이동 된 경우
   . 자료의 변동(삽입/삭제/변경)이 많이 발생된 직 후

'Language > Oracle' 카테고리의 다른 글

[Oracle] SQL_User Defined Function (Function)  (0) 2024.04.08
[Oracle] PL/SQL  (0) 2024.04.04
[Oracle] SQL 객체_03 : SYNONYM  (0) 2024.03.29
[Oracle] SQL 객체_02 : SEQUENCE  (2) 2024.03.29
[Oracle] SQL 객체_01 : VIEW  (1) 2024.03.29
Comments