본문 바로가기
DB

인덱스

by 쬑께께 2022. 4. 29.

인덱스 장점

- 검색 속도가 빨라짐

- 쿼리의 부하가 줄어들어 시스템 전체의 성능을 향상시킴

 

인덱스 단점

- 인덱스가 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