by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

1.인덱스의 활용

Version 4 by study.gurubee
on 5월 15, 2019 12:38.


compared with
Current by study.gurubee
on 5월 15, 2019 12:39.


 
Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 4 changes. View first change.

 h1. 제1장 엑세스 효율의 향상
  
 {panel:title=옵티마이저가 처리경로를 판단하는데 있어서 가장 중요한 요소| borderStyle=dashed| borderColor=#ccc| titleBGColor=#F7D6C1|bgColor=#FFFFCE}
 - 인덱스
 - 클러스터
 - 조인의 효율 향상
 - 최적의 인덱스 판단
 - 다중처리(Array processing)
 - 부분범위처리(Partial range scan)
 {panel}
  
 h2. 인덱스란?
  
 {note}
  
h4. 인덱스란?
 * 인덱스는 일반 테이블이나 클러스터에서 쓰여지는 선택적인 객체로서, 오라클 데이터베이스 테이블내의 원하는 레코드를 빠르게 찾아갈 수 있도록 만들어진 데이터 구조.
 * 옵티마이저가 최적의 경로를 결정하기 위해 사용하는 요소(Factor)
 * 테이블 로우(Row)에 하나씩 대응되는 별도의 객체(Object).
 * 인덱스는 생성시킨 컬럼의 값과 테이블 ROW의 ROWID 로 구성되어 있고, 이들간에 서로 정렬(Sort)되어 있다.
 동일한 값이 여러 개 존재하면 같은 값의 인덱스 ROW는 다시 ROWID로 정렬되어 저장된다.
 * 인덱스는 하나의 테이블에 여러 개를 지정할 수 있고, 하나의 컬럼은 여러 개의 인덱스에 포함 될 수도 있다.
 * 테이블과 무관하게 생성 및 삭제를 독립적으로 할 수 있다.
 * 자동 인덱스 : 프라이머리 키 또는 UNIQUE 제약조건에 의해 자동적으로 생성되는 인덱스.
 * 수동 인덱스 : CREATE INDEX 명령을 실행해서 만드는 인덱스.
 {note}
  
h2. 인덱스의 구분
  
 {tip:title=*인덱스의 구분*}
  {tip}
 h4. 논리적 인덱스
 * 단일열, 복합, 유일, 비유일, 함수기반 인덱스
  
 h4. 물리적 인덱스
 * [b-tree_index.ppt|http://wiki.gurubee.net/download/attachments/688159/b-tree_index.ppt?version=1] : 인덱스 대상의 해당 컬럼의 중간 값을 찾아 root-level로 등록하고 작은 값에 대한 정보와 큰 값에 대한 정보를 대칭형으로 저장하는 방식의 인덱스, 인덱스의 저장 모양이 나무와 비슷하다고하여 B-tree 인덱스라 부른다.
  
 * 내림차순 인덱스 : 기본 구조는 B-tree 인덱스와 동일, 가장 큰 값을 앞에다 저장하고 가장 작은 값을 뒤부분에 저장하여 최근의 값을
 좀더 빠르게 검색하기 위한 목적의 인덱스
  
 * 역방향 인덱스 : 기본 구조는 B-tree인덱스와 동일, 인덱스 테이블에 입력되는 값들을 뒤집어 받아들여 해당 값들에 대한
 연속적인 삭제 작업이 발생하더라도 어느 한쪽 블록에서의 데이터가 삭제되는 현상을 막을 수 있는 인덱스.
  
 * [bitmap_index.ppt|http://wiki.gurubee.net/download/attachments/688159/bitmap_index.ppt?version=1] : 인덱스에 저장된 컬럼의 값들을 binary화 하여 저장하는 방법
  
 * BITMAP-JOIN인덱스 : 기본구조는 BITMAP인덱스와 동일, 두 개 이상의 테이블의 조인 결과에 대해 정의되어 생성된 인덱스
  
 * IOT 인덱스 : 일반적인 인덱스와 달리 인덱스가 독립적인 저장구조를 가지고 있는 것이 아니고 테이블 자체를 인덱스로 형태로
 가지고 있는 인덱스{tip}