index_option(Transact-SQL)

업데이트: 2005년 12월 5일

ALTER TABLE을 사용하여 만든 제약 조건 정의의 일부인 색인에 적용할 수 있는 옵션 집합을 지정합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

{ 
    PAD_INDEX = { ON | OFF }
  | FILLFACTOR = fillfactor
  | IGNORE_DUP_KEY = { ON | OFF }
  | STATISTICS_NORECOMPUTE  = { ON | OFF }
  | ALLOW_ROW_LOCKS= { ON | OFF }
  | ALLOW_PAGE_LOCKS={ ON | OFF }
  | SORT_IN_TEMPDB = { ON | OFF } 
  | ONLINE = { ON | OFF }
  | MAXDOP = max_degree_of_parallelism
}

인수

  • PAD_INDEX = { ON | OFF }
    인덱스 패딩을 지정합니다. 기본값은 OFF입니다.

    • ON
      FILLFACTOR로 지정된 사용 가능한 공간의 비율이 인덱스의 중간 수준 페이지에 적용됩니다.
    • OFF 또는 fillfactor가 지정되지 않았습니다.
      중간 수준 페이지는 중간 페이지의 키 집합이 지정된 경우 최소한 인덱스에 사용할 수 있는 최대 크기의 행 하나를 위한 공간을 남겨 두고 거의 채워집니다.
  • FILLFACTOR **=**fillfactor
    인덱스를 만들거나 변경할 때 데이터베이스 엔진이 각 인덱스 페이지의 리프 수준을 채우는 비율을 지정합니다. 지정한 값은 1에서 100까지의 정수 값이어야 하며 기본값은 0입니다.

    [!참고] 채우기 비율 값 0과 100은 모든 면에서 동일합니다.

  • IGNORE_DUP_KEY = { ON | OFF }
    고유 클러스터형 또는 고유 비클러스터형 인덱스의 다중 행 INSERT 트랜잭션에 중복된 키 값이 있을 경우에 대한 오류 응답을 지정합니다. 기본값은 OFF입니다.

    • ON
      경고 메시지가 발생하고 UNIQUE 인덱스를 위반하는 행만 실패합니다.
    • OFF
      오류 메시지가 발생하고 전체 INSERT 트랜잭션이 롤백됩니다.

    [!참고] UPDATE 문에서는 IGNORE_DUP_KEY를 사용해도 효과가 없습니다.

  • STATISTICS_NORECOMPUTE = { ON | OFF }
    통계를 다시 계산할지 여부를 지정합니다. 기본값은 OFF입니다.

    • ON
      이전 통계가 자동으로 다시 계산되지 않습니다.
    • OFF
      자동 통계 업데이트가 설정됩니다.
  • ALLOW_ROW_LOCKS = { ON | OFF }
    행 잠금의 허용 여부를 지정합니다. 기본값은 ON입니다.

    • ON
      인덱스에 액세스할 때 행 잠금이 허용됩니다. 데이터베이스 엔진이 행 잠금 사용을 결정합니다.
    • OFF
      행 잠금이 사용되지 않습니다.
  • ALLOW_PAGE_LOCKS = { ON | OFF }
    페이지 잠금의 허용 여부를 지정합니다. 기본값은 ON입니다.

    • ON
      인덱스에 액세스할 때 페이지 잠금이 허용됩니다. 데이터베이스 엔진이 페이지 잠금 사용을 결정합니다.
    • OFF
      페이지 잠금이 사용되지 않습니다.
  • SORT_IN_TEMPDB = { ON | OFF }
    정렬 결과를 tempdb에 저장할지 여부를 지정합니다. 기본값은 OFF입니다.

    • ON
      인덱스 작성에 사용된 중간 정렬 결과가 tempdb에 저장됩니다. 따라서 사용자 데이터베이스가 들어 있지 않은 다른 디스크 세트에 tempdb가 있을 때 인덱스 생성에 필요한 시간이 단축될 수 있습니다. 그러나 인덱스 작성 중에 사용되는 디스크 공간의 크기는 커집니다.
    • OFF
      중간 정렬 결과가 인덱스와 같은 데이터베이스에 저장됩니다.
  • ONLINE = { ON | OFF }
    인덱스 작업 중에 쿼리 및 데이터 수정에 기본 테이블과 관련 인덱스를 사용할 수 있는지 여부를 지정합니다. 기본값은 OFF입니다.

    [!참고] 고유 비클러스터형 인덱스는 온라인으로 만들 수 없습니다. 여기에는 UNIQUE 또는 PRIMARY KEY 제약 조건 때문에 생성된 인덱스가 포함됩니다.

    • ON
      인덱스 작업 중에 장기 테이블 잠금이 보유되지 않습니다. 인덱스 작업의 주 단계 동안 IS(의도 공유) 잠금만 원본 테이블에 보유됩니다. 따라서 기본 테이블 및 인덱스에 대한 쿼리나 업데이트를 처리할 수 있습니다. 작업이 시작되면 아주 짧은 기간 동안 S(공유) 잠금이 원본 개체에 보유됩니다. 작업이 끝나면 짧은 기간 동안 비클러스터형 인덱스가 생성되는 경우에는 원본에 대해 S(공유) 잠금이 획득되고, 온라인 상태에서 클러스터형 인덱스가 생성 또는 삭제될 때와 클러스터형 또는 비클러스터형 인덱스가 다시 작성될 때는 SCH-M(스키마 수정) 잠금이 획득됩니다. 로컬 임시 테이블에서 인덱스를 만드는 경우에는 ONLINE을 ON으로 설정할 수 없습니다.
    • OFF
      인덱스 작업 중에 테이블 잠금이 적용됩니다. 클러스터형 인덱스를 생성, 다시 작성 또는 삭제하거나 비클러스터형 인덱스를 다시 작성 또는 삭제하는 오프라인 인덱스 작업은 테이블에 대해 SCH-M(스키마 수정) 잠금을 획득합니다. 이 경우 작업 중에 모든 사용자가 기본 테이블에 액세스할 수 없게 됩니다. 비클러스터형 인덱스를 만드는 오프라인 인덱스 작업은 테이블에 대해 S(공유) 잠금을 획득합니다. 따라서 기본 테이블을 업데이트할 수는 없지만 SELECT 문과 같은 읽기 작업은 허용됩니다.

    자세한 내용은 온라인 인덱스 작동 방식을 참조하십시오. 잠금에 대한 자세한 내용은 잠금 모드를 참조하십시오.

    [!참고] 온라인 인덱스 작업은 SQL Server 2005 Enterprise Edition에서만 사용할 수 있습니다.

  • MAXDOP = max_degree_of_parallelism
    인덱스 작업 기간 동안의 max degree of parallelism 구성 옵션을 재정의합니다. 자세한 내용은 max degree of parallelism 옵션을 참조하십시오. MAXDOP를 사용하여 병렬 계획 실행에 사용되는 프로세서 수를 제한할 수 있습니다. 최대값은 64개입니다.

    max_degree_of_parallelism은 다음 값이 될 수 있습니다.

    • 1
      병렬 계획이 생성되지 않습니다.
    • >1
      병렬 인덱스 작업에 사용되는 최대 프로세서 수를 지정된 값으로 제한합니다.
    • 0(기본값)
      현재 시스템 작업을 기반으로 실제 프로세서 수 이하의 프로세서를 사용합니다.

    자세한 내용은 병렬 인덱스 작업 구성을 참조하십시오.

    [!참고] 병렬 인덱스 작업은 SQL Server 2005 Enterprise Edition에서만 사용할 수 있습니다.

주의

인덱스 옵션에 대한 자세한 내용은 CREATE INDEX(Transact-SQL)를 참조하십시오.

참고 항목

참조

ALTER TABLE(Transact-SQL)
column_constraint(Transact SQL)
computed_column_definition(Transact-SQL)
table_constraint(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2005년 12월 5일

새로운 내용
  • 고유 비클러스터형 인덱스에 대한 ONLINE 옵션 정의에 참고를 추가했습니다.