인덱스는 SELECT를 사용해서 테이블을 조회할 때 결과를 빠르게 추출하도록 도와주는 기능입니다.
책을 예를 들자면, 책의 목차 및 찾아보기 기능처럼 찾아볼 내용의 알파벳이나, 가나다순으로 정렬되어있어서 쉽게 찾게하는것과 같습니다.
이처럼 인덱스는 데이터를 빠르게 찾도록 도와주는 도구입니다.
(장점)
(단점)
크게 클러스터형 인덱스와 보조 인덱스 두가지로 나뉘어집니다.
클러스터형 인덱스 == 영어사전 , 보조인덱스 == 일반책의 뒤에 찾아보기
영어사전처럼 이미 알파벳순서로 정렬되어있습니다.
어떤열을 기본키로 지정하면 그 열을 자동으로 정렬합니다.
일반책의 찾아보기와 같이 별도의 공간에 인덱스가 생성됩니다.
고유키로 지정하면 보조 인덱스가 생성되고 자동 정렬되지는 않습니다.
인덱스 값이 중복되지 않는다는 의미이고, 단순 인덱스는 인덱스의 값이 중복되어도 된다는 의미입니다.
기본 키나 고유 키로 지정하면 값이 중복되지 않으므로 고유 인덱스가 생성됩니다. 그외의 인덱스는 단순 인덱스로 생성됩니다.
클러스터형 인덱스 | 보조인덱스 | |
---|---|---|
관련 제약조건 | 기본키(Primary Key) | 고유키(Unique) |
테이블당 개수 | 1개 | 여러개 |
정렬 | 지정한 열로 정렬 | 정렬 안됨 |
비유 | 영어사전 | 일반책의 찾아보기 페이지 |
인덱스를 사용하는 것 만큼이나 생성된 인덱스를 관리해주는 것도 중요하다. 그러므로 사용되지 않는 인덱스는 바로 제거를 해주어야 한다.
출처: https://mangkyu.tistory.com/96 [MangKyu's Diary:티스토리]