많은 인덱스가있는 데이터베이스 (SQL Server 2012)를 정리하고 있습니다. 일부는 삭제되거나 병합 될 수 있다고 생각합니다. index1의 훨씬 더 보다 사용하는 것이 내가 DB 통계에서 볼중복 된 유사한 인덱스
CREATE NONCLUSTERED INDEX [index2] ON [dbo].[MyTable]
(
[Project] ASC,
[Type] ASC
)
INCLUDE (a_bunch_of _columns)
:
CREATE NONCLUSTERED INDEX [index1] ON [dbo].[MyTable]
(
[Project] ASC
)
INCLUDE (a_bunch_of _columns)
및 index2 :
예를 들어, 나는 INDEX1이 있습니다 index2 그러나 나는 모든 정보가 인 것으로 생각합니다.은 색인 2입니다. 그래서 만약 index1이라면, DB 엔진은 2 인 인덱스 대신에 index1을 찾는다. 성능은 지금만큼 좋아질 것입니다. (유지 보수해야 할 인덱스가 하나 더 적어지기 때문에 조금 더 좋음)
맞지 않니?
'index1'의 include 칼럼을''index2'라고 가정하면 가정은 정확합니다. 'DBCC FREEPROCCACHE'를 사용하는 이전 인덱스를 사용하는 일부 프로 시저에 대해서는 계획 캐시를 삭제해야 할 수도 있습니다. –
BrentOzar.com에서 sp_BlitzIndex를 찾아보십시오. 그러면 많은 중복 또는 거의 중복 된 항목이 강조 표시되며 누락 된 색인은 사용자에게 유용 할 수 있습니다. –