2010-12-28 3 views
2

최근에 실행 계획을 실행했으며 SSMS는 클러스터되지 않은 인덱스를 테이블에 추가 할 것을 제안했습니다.SQL 비 클러스터형 인덱스. "포함"또는 "포함하지 않기"

처음에는 DB 다이어그램 gui를 통해 색인을 추가했습니다. 그것이 준 색인은 다음과 같습니다 :

CREATE NONCLUSTERED INDEX [IX_MyTable] ON [dbo].[MyTable] 
(
    [ID_ForeignKey] ASC, 
    [ID] ASC 
) 

그것은 찾고 있던 색인이 아닙니다. 다음으로 개체 탐색기에서 마우스 오른쪽 단추를 클릭하여 색인을 추가했습니다. ID_Foreign 키 테이블에 추가하고 "Included Columns"페이지에 ID 열을 포함 시켰습니다. 내게 준 색인은 다음과 같습니다 :

CREATE NONCLUSTERED INDEX [IX_MyTable] ON [dbo].[MyTable] 
(
    [ID_ForeignKey] ASC 
) 
INCLUDE ([ID]) 

그 색인은 찾고있었습니다.

이 색인의 차이점은 무엇입니까?

+1

MyTable 테이블의 클러스터 된 인덱스 키는 무엇입니까? 모든 클러스터 된 인덱스 키는 클러스터되지 않은 인덱스에 자동으로 포함됩니다. –

답변

3

두 번째 열은 첫 번째 열과 두 번째 열로 정렬되는 색인을 만듭니다.

두 번째 인덱스는 첫 번째 열만 정렬하고 두 번째 인덱스는 두 번째 열의 데이터를 전달합니다. 이렇게하면 해당 열의 데이터를 가져 오기 위해 테이블로 돌아갈 필요가 없습니다.

첫 번째 인덱스는 삽입 및 업데이트시 더 많은 계산이 필요하므로 두 번째 인덱스가 필요하지 않은 경우 두 번째 인덱스 버전으로 이동하십시오. 둘 다 테이블에서 조회하지 않고도 필요한 데이터를 제공합니다.

관련 문제