본문 바로가기
IT지식/데이터베이스

[데이터베이스] DB Index 를 공부해보자.

by five-sun 2022. 12. 15.
728x90

DB Index의 목적은 RDBMS에서 검색 속도를 높이기 위한 기술이다.

Table의 Column을 색인화하는 것이다.

이것을 통해 Table의 Record를 Full scan 하지 않아도 되고 색인화 된 Index 파일 검색으로 검색 속도를 향상시킬 수 있다.

 

DB Index의 과정은 Table을 생성하면, MYD, MYI, FRM 3개의 파일이 생성된다.

FRM: 테이블 구조가 저장되어 있는 파일

MYD: 실제 데이터가 있는 파일

MYI: Index 정보가 들어가 있는 파일

 

Index를 사용하는 경우 비어져 있던 MYI 파일이 생성되고 사용자가 Select 쿼리로 Index를 사용하는 Column을 탐색 시, MYI 파일의 내용을 검색한다.

 

DB Index를 생성시 발생하는 단점으로는

.mdb 파일의 크기가 증가한다.

한 페이지를 동시에 수정할 수 있는 병행성이 줄어든다.

인덱스 된 Record를 추가 또는 삭제시 성능이 떨어진다.

데이터 변경 작업이 자주 일어나는 경우, Index를 재작성해야 하는 상황이 생긴다.

 

그렇다면, 사용하면 좋은 경우는 언제일까?

Where 절에서 자주 사용되는 컬럼

외래키가 사용되는 컬럼

Join에 자주 사용되는 컬럼 등이 있다.

 

728x90