■ 결합인덱스(Composite index)



·  결합 인덱스(Composite index) : 하나 이상의 칼럼으로 생성된 인덱스




■ 결합인덱스의 장점



·
좋은 분포도 : 나쁜 분포도를 가진 column을 결합한 결합 인덱스가
더 좋은 분포도를 가질 수 있다
.


·
저장 공간의 효율성 : 한 질의에 의해 선택된 모든 칼럼이 결합인덱스에 있을 경우,
table
access하지 않고 결합 인덱스 만으로 원하는 값을 가져올수 있다.





■ 결합인덱스의 사용 



·  결합 인덱스의 선행 부분(leading
portion)
을 사용하는 SQL문인 경우, 결합
인덱스에 의한
access path 사용 가능 



·  선행부분 : CREATE INDEX문에 의해 생성된 결합 인덱스를 구성하는 column list에 있는 첫 번째를 포함한 연속적인 칼럼의 집합.


              ·CREATE INDEX comp_ind  ON
tab1(x, y, z);



·          여기서 X, XY, XYZ는 결합 인덱스의 선행 부분이다. 그러나 YZ, Z는 선행부분이 아니다.




  결합 인덱스의 column 선택을 위한 지침



· column의 분포도 보다 결합 인덱스에서 결합된 분포도가 더
좋을 경우


· 여러 질의에서 하나 이상의 칼럼값을 가진 칼럼의 동일한 집합을 질의 할 경우, 이들
모든 칼럼을 포함하는 결합 인덱스 생성을 고려한다
.


  결합 인덱스 구성시 column 순서 배치를 위한 지침 


· WHERE절에 사용된 칼럼을 선행부분으로 만들기 위한 결합 인덱스를 생성



· 칼럼의 일부가 WHERE절에서 자주 사용될 경우 => 자주 select되는 column을 선행부분올 만들어서 이 column만으로 인덱스를
사용할 수 있도록 한다



· 모든 칼럼이 WHERE절에서 동일하게 사용되면 => 질의 성능을 개선하기 위하여
CREATE INDEX statement
에서 분포도가 좋은 순서대로 배열



· 모든 칼럼이 WHERE절에서 동일하게 자주 사용되지만 데이터가 한 column에 대해 물리적으로 정렬되어 있으면 => column을 결합 인덱스의 첫번째로
구성



By haisins

오라클 DBA 박용석 입니다. haisins@gmail.com 으로 문의 주세요.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다