Om ditt index inte används, indikerar det vanligtvis ett av två problem:
-
Icke-sargerbara predikatvillkor, såsom
WHERE DATEPART(YY, Column) =
. Att radbryta kolumner i en funktion kommer att försämra eller eliminera optimerarens förmåga att effektivt använda ett index. -
Icke täckta kolumner i utdatalistan, vilket är mycket troligt om du har för vana att skriva
SELECT *
istället förSELECT specific_columns
. Om indexet inte täcker din fråga måste SQL Server utföra en RID/nyckelsökning för varje rad, en efter en, vilket kan sakta ner frågan så mycket att optimeraren bara bestämmer sig för att göra en tabellsökning istället.
Se om något av dessa kan gälla din situation; om du fortfarande är förvirrad rekommenderar jag att du uppdaterar frågan med mer information om ditt schema, data och frågor som är långsamma. 500 MB är mycket litet för en SQL-databas, så det här borde inte vara långsamt. Lägg även upp vad som står i genomförandeplanen.