인덱스 장점
- 검색 속도가 빨라짐
- 쿼리의 부하가 줄어들어 시스템 전체의 성능을 향상시킴
인덱스 단점
- 인덱스가 DB 공간을 차지해서 추가적인 공간이 필요함
- 처음 인덱스 생성 시 시간 소요
- 데이터의 변경 작업이 자주 일어나는 경우 성능이 나빠질 수 있음
인덱스 종류
1. 클러스터형 인덱스
- 영어 사전과 같은 책
- 테이블 당 한 개만 지정 가능 -> 기본 키 속성과 유사함
- 행 데이터를 인덱스로 지정한 열에 맞춰 자동 정렬
- 결과적으로 테이블 당 한 개만 생성 가능함
2. 보조 인덱스
- 책 뒤에 찾아보기가 있는 일반 책
- 테이블 당 여러 개도 생성 가능
- 보조 인덱스 생성시 별도의 페이지 인덱스 구성
- 인덱스 자체의 리프 페이지는 데이터가 아니고 데이터가 위치하는 주소 값
- 클러스터형보다 검색 속도는 더 느림(데이터의 입력 수정 삭제는 덜 느림)
* 클러스터형 인덱스와 보조 인덱스가 결합되어 있을 경우 보조 인덱스를 먼저 검색한 후, 클러스터형 인덱스를 검색함
* 테이블 생성 시 PRIMARY KEY또는 UNIQUE 사용하면 자동으로 인덱스 생성됨
( PRIMARY KEY: NULL 허용 안함
UNIQUE: NULL 허용 함)
* 외래키 지정 시 외래키 인덱스가 자동으로 생성됨
결론.
데이터의 중복도가 높은 경우 인덱스 사용하는 것이 효율이 좋음
그러나 인덱스의 관리 비용과 INSERT 등의 구문에서 오히려 성능이 저하될 수 있음
'DB' 카테고리의 다른 글
| 인덱스 (0) | 2022.05.13 |
|---|---|
| 스토어드와 인덱스, 커서, 트리거 (0) | 2022.05.12 |
| 변수생성과 형변환, JSON (0) | 2022.04.14 |
| DML - DELETE문 (0) | 2022.04.08 |
| DML - UPDATE문 (0) | 2022.04.08 |