데이터베이스 인덱스

데이터베이스 인덱스의 개요

인덱스(index)의 정의

연산 성능향상을 위해 테이블의 row의 키값과 물리적 주소를 저장하고 있는 공간

인덱스 특징

  1. 독립성: 테이블과 독립된 공간에 저장
  2. Trade-Off: 조회성능 향상,등록/수정/삭제의 성능저하 발생

인덱스 선정 기준 및 인덱스 종류

인덱스 선정 기준

  1. 기본키 및 외래키
  2. 접근 경로 분석
  3. 분포도 파악
  4. 인덱스 순서 선정

인덱스 유형

유형 상세내용 종류 및 활용
순서 인덱스 정렬 순서에 따라 생성되는 인덱스 단일 및 결합 인덱스
해싱 인덱스 해시함수와 해시테이블을 활용하여 검색 해시충돌 발생
클러스터링 데이터 물리적 순서에 따라 인덱스 생성->검색 유리 읽기전용 테이블
비트맵 인덱스를 0,1로 표현하여 대용량 데이터 검색 DW사용

데이터베이스 인덱스 선정시 고려사항

  1. Execute Plan(옵티마이저) 점검을 통해서 효율적인 사용이 필요
  2. 과도한인덱스 생성시 데이터 등록,수정,삭제시에 성능저하 유발
  3. 인덱스는 hint를 활용하여 튜닝이 가능하지만, 기본적으로 SQL문의 효율적 작성을 해서 튜닝을 권고