장점
1. 데이터를 찾을(SELECT) 때 빨리 찾기 위해서 사용한다.
(색인이 없다면 특정한 값을 찾기 위해 모든 데이터를 뒤진다 - Table Scan,
모든 페이지를 뒤지지 않고 색인 페이지를 찾아서 쉽게 데이터를 가져온다 - Index Seek)
2. 특정한 작업을 빨리 할 수 있다. (데이터 정렬(ORDER BY), 그룹단위 계산함수(GROUP BY))
3. 유일성(uniqueness) 검사를 할 수 있다. 즉, 키 값이 같은 행이 두번 입력되지 않도록 하기 위해서도 색인을 사용한다.
단점
1. 만드는데 시간이 걸린다.
2. 만드는데 많은 공간이 필요하고, 만들고 난 후에도 추가적인 공간이 필요하다.
3. 데이터 수정(INSERT, UPDATE, DELETE)하는 시간, 특히 INSERT 작업은 오히려 더 많이 걸린다.
색인을 사용하는 컬럼의 기준
1. WHERE 절에서 자주 사용되는 컬럼
2. 자주 검색되는 컬럼(SELECT 절에서)
3. 기본 키(자동적으로 색인이 만들어진다.)
4. 참조키(foreign key): 조인 사용할 때에 조인의 속도를 향상시킨다. 색인이 자동적으로 만들어지지 않는다.