본문 바로가기

MySQL

[DB/MySQL] 인덱스(INDEX)

반응형

 

 

 

Document

 

 

 

 

INDEX 개념

- 대용량 테이블의 데이터를 빠르게 찾을 수 있도록 해주는 도구

- 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인트> 쌍으로 구성되는 데이터 구조 

 

 

 

INDEX 장점

- 대용량 테이블의 데이터를 빠르게 찾을 수 있도록 해준다

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

 

 

 

INDEX 단점

- 인덱스가 데이터베이스 공간을 차지해서 추가적인 공간 필요

  (테이블 공간대비 약 10~20% 공간 차지)

- 최초 INDEX 생성 시 시간 소요

- CURD 작업이 많을 경우 성능 저하 우려 있음 

 

반응형

 

INDEX 종류

보조 인덱스(Secondary Index)

: 데이터를 빠르게 검색하기 위해 해당 컬럼을 대상으로 만들어진 인덱스. 보조 인덱스가 없다면, 해당 컬럼을 검색하는 작업은 전체 테이블을 스캔해야 하기 때문에 처리속도가 느려진다.


클러스터드 인덱스(Clustered Index)

: 데이터를 순서대로 정렬한 후 인덱스를 만드는 것


넌클러스터드 인덱스(Non-Clustered Index)

: 데이터를 순서대로 정렬하지 않고 인덱스를 만드는 것

 


 

:트리기반인덱스
- 인덱스를 저장하는 블록들이 트리 구조를 이루고 있는 것 

 

: 비트맵 인덱스
- 인덱스 컬럼의 데이터를 Bit 값인 0 또는 1로 변환하여 인덱스 키로 사용하는 방법 

 

: 함수 기반 인덱스
- 컬럼의 값 대신 컬럼에 특정 함수나 수식을 적용하여 산출된 값을 사용하는 것 

 

: 비트맵 조인 인덱스
- 다수의 조인된 객체로 구성된 인덱스 

 

: 도메인 인덱스
- 개발자가 필요한 인덱스를 직접 만들어서 사용하는 것

 

 

 

 

 

반응형