오라클 DB의 결합 인덱스 사용 방법 haisins 9년 ago ■ 결합인덱스(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을 결합 인덱스의 첫번째로 구성