Oracle Admin 강좌 (Oracle9i)
인덱스의 컬럼 선정 및 고려사항 4 2 24,707

by 김정식 인덱스 INDEX [2002.01.24]


인덱스 컬럼의 선정

  - 분포도가 좋은 컬럼은 단독적으로 생성하여 활용도를 향상 시킵니다.

  - 자주 조합되어 사용되는 경우는 결합인덱스를 생성 합니다.

  - 엑세스 경우의 수를 만족할 수 있도록 각 인덱스간의 역할을 분담 합니다.

  - 가능한 수정이 빈번하지 않는 컬럼을 선정 합니다.

  - 가능한 한 컬럼이 여러 인덱스에 포함되지 않도록 합니다.

  - 기본키 및 외부키 (조인의 연결고리가 되는 컬럼)가 되는 컬럼을 선정합니다.

  - 결합 인덱스의 컬럼순서 선정에 주의 (사용빈도,유일성,SORT유형,부분범위처리등을 고려)해야 합니다. 첫번째 컬럼은 항상 사용되는 컬럼을 선택 해야 합니다

  - 실제 조사된 엑세스 종류를 토대로 선정 및 검증 해야 합니다.

인덱스가 사용되지 않는 경우

  - 인덱스 컬럼이 비교되기 전에 변형이 일어날 경우

  - 부정형(NOT, )으로 조건을 기술한 경우

  - 인덱스 컬럼이 NULL로 비교되는 경우(NULL, NOT NULL의 사용)

  - 옵티마이져가 특정 인덱스의 사용을 취사 선택 할 경우 사용되지 않을 수 있음니다.

인덱스 생성시 고려사항

  - 새로 추가된 인덱스는 기존 엑세스 경로에 영향을 미칠 수가 있습니다.

  - 지나치게 많은 인덱스는 많은 오버헤드를 발생 시킴니다.

  - 넓은 범위를 인덱스로 처리시 많은 오버헤드 발생 시킵니다.

  - 옵티마이져를 위한 통계 데이타를 주기적으로 갱신(ANALYZE) 합니다.

  - 인덱스를 위한 추가적인 저장공간이 필요 합니다.

  - 인덱스의 개수는 테이블의 사용형태에 따라 다릅니다. (검색위주형, 동시 다량처리형, 단일 처리형, 배치처리형)

  - 분포도가 양호한 컬럼도 처리 조건(범위)에 따라 분포도가 나빠 질 수 있습니다.

  - NULL 값을 가지는 컬럼의 인덱스 ENTRY는 생성되지 않습니다.

  - 조인(join)시에 인덱스가 사용되지 않으면 엑세스 경로는 무조건 특정 형태로 고정 되어 집니다.

참고링크

- 강좌 URL : http://www.gurubee.net/lecture/1107

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 돌이맹이 [2012.02.27 14:30:41]
잘 읽었습니다.

by 돌이맹이 [2012.02.27 15:02:40]
잘 읽어보았습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입