2010-02-24 4 views
0

는 테이블에 대해 다음과 같은 두 개의 인덱스를 SQL2005 데이터베이스를 통해 검색 및 보았다 다음 PK_CLUSTERED_INDEX 이미 그 열이 포함되어 있기 때문에 내 초기 생각은 SQL2005 인덱스


**NON-unique_NON-clustered_INDEX** 
USER_ID 
COMPANY_ID 

**PK_CLUSTERED_INDEX** 
USER_ID 
COMPANY_ID 
DEPARTMENT_ID 
는, 마지막 인덱스를 삭제 , 올바른 순서와 정렬. 마지막 색인은 어떤 이득도 제공합니까?

답변

0

User_ID 또는 User_ID 및 Company_ID 열을 사용하여 검색하는 경우 두 인덱스가 모두이를 수행 할 수 있습니다. 그러나 Department_Id가이 두 필드 외에도 쿼리되는 경우 PK 인덱스 만 이상적입니다.

쿼리가 User_ID 및 Company_ID를 필터링하고 다른 데이터 열을 반환해야하는 경우 PK 인덱스는 여전히 모든 데이터를 보유 할 수 있으므로 가장 좋습니다. 비 클러스터형 인덱스는 그렇게 효율적이지 않은 추가 필드를 추출하려면 키 조회가 필요할 것입니다.

내게 불필요 해 보이므로 분명히 제거하는 것이 좋습니다.

인덱스가 실제로 사용되는지/사용 수준에 대한 느낌을 얻으려면 다양한 인덱스 사용 통계 스크립트 중 하나를 실행할 수 있습니다. 좋은 예가 here입니다.

0

이 경우 고유하지 않기 때문에 인덱스를 삭제하십시오. 이 아니기 때문에이 절대 안타깝습니다. 첫 번째 인덱스는 더 고유하며 일치하는 항목을 찾은 후 행 조회를 포함하지 않습니다.

처음에는 모두 잘 어울립니다. 두 번째를 놓으면 아무 것도 잃지 않습니다.

0

NON-unique_NON-clustered_INDEX 색인을 삭제합니다. 중복되어 필요하지 않습니다.

관련 문제