인덱스
테이블의 검색 속도를 향상시키기 위해 사용되는 데이터 구조이다.
인덱스는 특정 열 또는 열의 집합에 대한 정렬된 데이터 구조로, 테이블에 대한 빠른 검색과 정렬을 가능하게 한다
클러스터형 인덱스 (Clustered Index)
- 테이블의 레코드를 인덱스의 순서대로 정렬된 형태로 저장
- 테이블당 하나의 클러스터형 인덱스만 가질 수 있다
- 주로 기본 키(primary key) 열에 생성
- 테이블의 레코드들은 클러스터형 인덱스의 순서를 따라 물리적으로 저장되기 때문에 클러스터형 인덱스를 이용한 검색은 빠르지만, 인덱스의 순서를 변경하는 작업은 성능 저하를 초래할 수 있다
비 클러스터형 인덱스 (Non-Clustered Index)
- 테이블의 레코드를 정렬하지 않고 별도의 데이터 구조로 관리한다.
- 테이블당 여러 개의 비 클러스터형 인덱스를 가질 수 있다
- 테이블의 특정 열 또는 열의 조합에 대한 정렬된 구조로 생성된다.
- 인덱스를 통해 데이터를 검색할 때, 해당 인덱스의 열을 참조하여 검색 대상을 찾는다
- 테이블의 레코드들은 물리적으로 정렬되어 있지 않기 때문에 클러스터형 보다 느리다.