비클러스터형 인덱스 만들기

테이블 또는 인덱싱된 뷰에 비클러스터형 인덱스를 여러 개 만들 수 있습니다. 일반적으로 비클러스터형 인덱스는 클러스터형 인덱스를 적용할 수 없고 자주 사용되는 쿼리의 성능을 개선하기 위해 만듭니다.

일반적인 구현 방법

비클러스터형 인덱스는 다음 방법으로 구현합니다.

  • PRIMARY KEY 및 UNIQUE 제약 조건
    PRIMARY KEY 제약 조건을 만들 때 테이블에 클러스터형 인덱스가 없으며 비클러스터형 고유 인덱스를 지정하지 않은 경우 열에 클러스터형 고유 인덱스가 자동으로 생성됩니다. 기본 키 열에는 NULL 값이 허용되지 않습니다.
    UNIQUE 제약 조건을 만들면 비클러스터형 고유 인덱스가 생성되어 기본적으로 UNIQUE 제약 조건을 적용합니다. 테이블에 클러스터형 인덱스가 없는 경우 클러스터형 고유 인덱스를 지정할 수 있습니다. 자세한 내용은 PRIMARY KEY 제약 조건UNIQUE 제약 조건을 참조하십시오.
  • 제약 조건의 영향을 받지 않는 인덱스
    기본적으로 클러스터링 옵션을 지정하지 않으면 비클러스터형 인덱스가 생성됩니다. 하나의 테이블에 만들 수 있는 비클러스터형 인덱스의 최대 개수는 249입니다. PRIMARY KEY 또는 UNIQUE 제약 조건에서 만든 모든 인덱스가 포함되며 XML 인덱스는 포함되지 않습니다.
  • 인덱싱된 뷰의 비클러스터형 인덱스
    뷰에 클러스터형 고유 인덱스를 만든 후 비클러스터형 인덱스를 만들 수 있습니다. 자세한 내용은 인덱싱된 뷰 만들기를 참조하십시오.

포괄 열이 있는 인덱스

쿼리에 사용할 비클러스터형 인덱스를 만들 때 키가 아닌 열을 인덱스 정의에 포함하여 쿼리에서 기본 검색 열로 사용되지 않는 열을 처리할 수 있습니다. 이 경우 쿼리 최적화 프로그램이 테이블이나 클러스터형 인덱스에 액세스하지 않고도 인덱스 내에서 필요한 모든 열 데이터를 찾을 수 있으므로 성능이 향상됩니다. 자세한 내용은 포괄 열이 있는 인덱스를 참조하십시오.

디스크 공간 요구 사항

비클러스터형 인덱스의 디스크 공간 요구 사항은 인덱스 디스크 공간 요구 사항 확인을 참조하십시오.

성능 고려 사항

쿼리에 사용되는 모든 열을 인덱스에 포함해야 하지만 열을 불필요하게 추가하지는 말아야 합니다. 인덱스 열(키 열 또는 키가 아닌 열)을 너무 많이 추가하면 다음과 같은 성능 관련 문제가 발생할 수 있습니다.

  • 한 페이지에 들어가는 인덱스 행 수가 줄어들어 디스크 I/O가 늘어나고 캐시 효율성이 저하됩니다.
  • 인덱스를 저장하는 데 디스크 공간이 더 필요합니다.
  • 인덱스 유지 관리로 인해 기본 테이블 또는 인덱싱된 뷰에 대한 수정, 삽입, 업데이트 또는 삭제 작업에 걸리는 시간이 늘어납니다.

데이터 수정 작업 동안 성능이 저하되고 디스크 공간 요구 사항이 증가해도 쿼리의 성능 향상이 중요한지 결정합니다. 쿼리 성능을 평가하는 방법은 쿼리 튜닝을 참조하십시오.

테이블을 만들 때 PRIMARY KEY 또는 UNIQUE 제약 조건을 만들려면

CREATE TABLE(Transact-SQL)

기존 테이블에 PRIMARY KEY 또는 UNIQUE 제약 조건을 만들려면

ALTER TABLE(Transact-SQL)

인덱스를 만들려면

CREATE INDEX(Transact-SQL)

참고 항목

개념

인덱스 만들기(데이터베이스 엔진)
비클러스터형 인덱스 디자인 지침

도움말 및 정보

SQL Server 2005 지원 받기