데이터베이스 인덱스
데이터베이스 인덱스의 개요
인덱스(index)의 정의
연산 성능향상을 위해 테이블의 row의 키값과 물리적 주소를 저장하고 있는 공간
인덱스 특징
- 독립성: 테이블과 독립된 공간에 저장
- Trade-Off: 조회성능 향상,등록/수정/삭제의 성능저하 발생
인덱스 선정 기준 및 인덱스 종류
인덱스 선정 기준
- 기본키 및 외래키
- 접근 경로 분석
- 분포도 파악
- 인덱스 순서 선정
인덱스 유형
유형 | 상세내용 | 종류 및 활용 |
---|---|---|
순서 인덱스 | 정렬 순서에 따라 생성되는 인덱스 | 단일 및 결합 인덱스 |
해싱 인덱스 | 해시함수와 해시테이블을 활용하여 검색 | 해시충돌 발생 |
클러스터링 | 데이터 물리적 순서에 따라 인덱스 생성->검색 유리 | 읽기전용 테이블 |
비트맵 | 인덱스를 0,1로 표현하여 대용량 데이터 검색 | DW사용 |
데이터베이스 인덱스 선정시 고려사항
- Execute Plan(옵티마이저) 점검을 통해서 효율적인 사용이 필요
- 과도한인덱스 생성시 데이터 등록,수정,삭제시에 성능저하 유발
- 인덱스는 hint를 활용하여 튜닝이 가능하지만, 기본적으로 SQL문의 효율적 작성을 해서 튜닝을 권고