1. 인덱스 컬럼의 선정
- 분포도가 좋은 컬럼은 단독적으로 생성하여 활용도를 향상 시킵니다.
- 자주 조합되어 사용되는 경우는 결합인덱스를 생성 합니다.
- 엑세스 경우의 수를 만족할 수 있도록 각 인덱스간의 역할을 분담 합니다.
- 가능한 수정이 빈번하지 않는 컬럼을 선정 합니다.
- 가능한 한 컬럼이 여러 인덱스에 포함되지 않도록 합니다.
- 기본키 및 외부키 (조인의 연결고리가 되는 컬럼)가 되는 컬럼을 선정합니다.
- 결합 인덱스의 컬럼순서 선정에 주의 (사용빈도,유일성,SORT유형,부분범위처리등을 고려)해야
합니다.
첫번째 컬럼은 항상 사용되는 컬럼을 선택 해야 합니다
- 실제 조사된 엑세스 종류를 토대로 선정 및 검증 해야 합니다.
- 분포도가 좋은 컬럼은 단독적으로 생성하여 활용도를 향상 시킵니다.
- 자주 조합되어 사용되는 경우는 결합인덱스를 생성 합니다.
- 엑세스 경우의 수를 만족할 수 있도록 각 인덱스간의 역할을 분담 합니다.
- 가능한 수정이 빈번하지 않는 컬럼을 선정 합니다.
- 가능한 한 컬럼이 여러 인덱스에 포함되지 않도록 합니다.
- 기본키 및 외부키 (조인의 연결고리가 되는 컬럼)가 되는 컬럼을 선정합니다.
- 결합 인덱스의 컬럼순서 선정에 주의 (사용빈도,유일성,SORT유형,부분범위처리등을 고려)해야
합니다.
첫번째 컬럼은 항상 사용되는 컬럼을 선택 해야 합니다
- 실제 조사된 엑세스 종류를 토대로 선정 및 검증 해야 합니다.
2. 인덱스가 사용되지 않는 경우 - 인덱스 컬럼이 비교되기 전에 변형이 일어날 경우 - 부정형(NOT, <>)으로 조건을 기술한 경우 - 인덱스 컬럼이 NULL로 비교되는 경우(NULL, NOT NULL의 사용) - 옵티마이져가 특정 인덱스의 사용을 취사 선택 할 경우 사용되지 않을 수 있음니다. |
3. 인덱스 생성시 고려사항 - 새로 추가된 인덱스는 기존 엑세스 경로에 영향을 미칠 수가 있습니다. - 지나치게 많은 인덱스는 많은 오버헤드를 발생 시킴니다. - 넓은 범위를 인덱스로 처리시 많은 오버헤드 발생 시킵니다. - 옵티마이져를 위한 통계 데이타를 주기적으로 갱신(ANALYZE) 합니다. - 인덱스를 위한 추가적인 저장공간이 필요 합니다. - 인덱스의 개수는 테이블의 사용형태에 따라 다릅니다. (검색위주형, 동시 다량처리형, 단일 처리형, 배치처리형) - 분포도가 양호한 컬럼도 처리 조건(범위)에 따라 분포도가 나빠 질 수 있습니다. - NULL 값을 가지는 컬럼의 인덱스 ENTRY는 생성되지 않습니다. - 조인(join)시에 인덱스가 사용되지 않으면 엑세스 경로는 무조건 특정 형태로 고정 되어 집니다. [http://www.oracleclub.com 에서 펌] |
'DataBase > Oracle' 카테고리의 다른 글
테이블스페이스 용량구하기... (0) | 2008.10.09 |
---|---|
ORA-02020 조치 (0) | 2008.10.07 |
[펌]ANALYZE ? (0) | 2008.10.06 |
ANALYZE 명령어 (0) | 2008.10.06 |
DBMS_STATS 패키지 (0) | 2008.10.06 |