인덱스 옵션 설정
인덱스를 디자인, 작성 또는 수정할 경우 여러 가지 인덱스 옵션을 사용할 수 있습니다. 이러한 옵션은 처음 인덱스를 만들 때 또는 인덱스를 다시 만들 때 지정할 수 있습니다. 또한 일부 인덱스 옵션은 언제든지 ALTER INDEX 문의 SET 절을 사용하여 설정할 수 있습니다.
인덱스 옵션
설명
메타데이터에 저장되는 설정
관련 항목
PAD_INDEX
인덱스를 만드는 동안 중간 수준 페이지에서 사용 가능한 공간의 백분율을 설정합니다.
예
FILLFACTOR
인덱스를 만드는 동안 각 인덱스 페이지의 리프 수준에서 사용 가능한 공간의 백분율을 설정합니다.
예
SORT_IN_TEMPDB
인덱스를 만드는 동안 생성된 중간 정렬 결과가 저장되는 위치를 결정합니다.
ON으로 설정하면 정렬 결과가 tempdb에 저장됩니다. OFF로 설정하면 결과 인덱스가 저장되는 파일 그룹 또는 파티션 구성표에 정렬 결과가 저장됩니다.
참고:
정렬 작업이 필요하지 않거나 메모리에서 정렬을 수행할 수 있으면 SORT_IN_TEMPDB가 무시됩니다.
아니요
IGNORE_DUP_KEY
고유 클러스터형 인덱스나 고유 비클러스터형 인덱스에서 다중 행 INSERT 트랜잭션의 중복 키 값에 대한 오류 응답을 지정합니다.
예
STATISTICS_NORECOMPUTE
오래된 인덱스 통계를 자동으로 다시 계산할 것인지 여부를 지정합니다.
예
DROP_EXISTING
기존 인덱스를 삭제하고 다시 만들도록 지정합니다.
아니요
ONLINE
인덱스 작업 동안 기본 테이블이나 클러스터형 인덱스 데이터 및 연관된 모든 비클러스터형 인덱스에 여러 사용자가 동시에 액세스할 수 있는지 여부를 결정합니다.
참고:
온라인 인덱스 작업은 Microsoft SQL Server 2005 Enterprise Edition에서만 사용할 수 있습니다.
아니요
ALLOW_ROW_LOCKS
인덱스 데이터에 액세스할 때 행 잠금이 사용되는지 여부를 결정합니다.
예
ALLOW_PAGE_LOCKS
인덱스 데이터에 액세스할 때 페이지 잠금이 사용되는지 여부를 결정합니다.
예
MAXDOP
단일 인덱스 문을 실행할 때 쿼리 프로세서에서 사용할 수 있는 최대 프로세서 수를 설정합니다. 현재 시스템 작업 부하에 따라 더 적은 수의 프로세서를 사용할 수 있습니다.
참고:
병렬 인덱스 작업은 SQL Server 2005 Enterprise Edition에서만 사용할 수 있습니다.
아니요
인덱스에서 옵션을 설정하려면
다시 작성하지 않고 옵션 설정
ALTER INDEX 문에서 SET 절을 사용하면 인덱스를 다시 작성하지 않고 다음 인덱스 옵션을 설정할 수 있습니다.
- ALLOW_PAGE_LOCKS
- ALLOW_ROW_LOCKS
- IGNORE_DUP_KEY
- STATISTICS_NORECOMPUTE
이러한 옵션은 인덱스에 즉시 적용됩니다. FILLFACTOR, ONLINE 등의 다른 인덱스 옵션은 인덱스를 만들거나 다시 작성할 때만 지정할 수 있습니다.
인덱스 옵션 설정 보기
일부 인덱스 옵션 값은 메타데이터에 저장되지 않습니다. 메타데이터에 저장된 값은 해당 카탈로그 뷰에서 볼 수 있습니다. 기존 인덱스의 현재 옵션 설정을 확인하려면 sys.indexes 카탈로그 뷰를 사용합니다. STATISTICS_NORECOMPUTE의 현재 값을 확인하려면 sys.stats 카탈로그 뷰를 사용합니다. 자세한 내용은 인덱스 정보 보기를 참조하십시오.
예
다음 예에서는 Production.Product
테이블의 AK_Product_ProductNumber
인덱스에 대해 ALLOW_ROW_LOCKS
및 IGNORE_DUP_KEY
옵션을 설정합니다.
USE AdventureWorks;
GO
--Verify the current values for these options.
SELECT allow_row_locks, ignore_dup_key
FROM sys.indexes
WHERE name = N'AK_Product_ProductNumber';
GO
--Set the ALLOW_ROW_LOCKS option OFF and the IGNORE_DUP_KEY option ON.
ALTER INDEX AK_Product_ProductNumber
ON Production.Product
SET (ALLOW_ROW_LOCKS = OFF, IGNORE_DUP_KEY = ON);
GO
--Verify the new values for these options.
SELECT allow_row_locks, ignore_dup_key
FROM sys.indexes
WHERE name = N'AK_Product_ProductNumber';
GO
참고 항목
개념
관련 자료
sys.indexes(Transact-SQL)
sys.stats(Transact-SQL)