2012-03-01 3 views
1

기본 키가 DocId, DocStatus, DocSubId 열의 조합 인 'Docs'라는 테이블이 있습니다.개별 열 인덱스와 결합 된 열 인덱스

는 지금은 쿼리 다음 실행하면

select * from Docs where DocId = 200 

다음은 기본 키의 클러스터 된 인덱스를 사용하게됩니다 아니면 쿼리 위의 최적화 DOCID에 별도의 인덱스를 생성하는 빠른 것입니다.

답변

2

기존의 클러스터 된 인덱스가 사용되므로 별도의 인덱스가 필요하지 않습니다. 복합 인덱스에서 가장 왼쪽 열에있는 모든 쿼리는 인덱스를 사용할 수 있습니다. 그래서, 당신의 인덱스가 같은 쿼리에도 유효 : 가장 왼쪽 열이 이용되지 않는 반면에

SELECT * FROM Docs WHERE DocId = 200 AND DocStatus = 1 

, 복합 인덱스 만 DocStatus에 대한 쿼리에 대해 유효하지 않습니다.

SELECT * FROM Docs WHERE DocStatus = 1 -- Can't use the composite index.