Por que isso é uma verificação de índice e não uma busca de índice?
Aqui está a consulta:
SELECT top 100 a.LocationId, b.SearchQuery, b.SearchRank
FROM dbo.Locations a
INNER JOIN dbo.LocationCache b ON a.LocationId = b.LocationId
WHERE a.CountryId = 2
AND a.Type = 7
Índices de localização:
PK_Locations:
LocationId
IX_Locations_CountryId_Type:
CountryId, Type
ndices @LocationCache:
PK_LocationCache:
LocationId
IX_LocationCache_LocationId_SearchQuery_SearchRank:
LocationId, SearchQuery, SearchRank
Plano de execução
Então está fazendo umIndex Seek em Locais, usando o índice de cobertura, lega
Mas por que está fazendo umIndex Scan no índice de cobertura LocationCache?
Esse índice de cobertura possui LocationId, SearchQuery, SearchRank no índice (não como "Colunas incluídas").
Passe o mouse sobre a verificação do índice:
Esta consulta precisa ser exibida em um modo de exibição indexado, servido por um catálogo do SQL Server FTS, consumido por um plug-in de preenchimento automático, portanto, ele precisa ser 100% otimizad
No momento em que a consulta acima está demorando 3 segundos. Deve ser <0.
Alguma ideia