Dette er sandsynligvis ikke et problem med indeksering, men et problem med datadesign. Normalisering, for at være præcis. Det faktum, at du skal forespørge på forskellige værdier af et felt, og endda er villig til at tilføje et indeks, er en stærk indikator for, at feltet skal normaliseres til en separat tabel med en (lille) join-nøgle. Så vil de distinkte værdier være tilgængelige med det samme ved at scanne den meget mindre udenlandske opslagstabel.
Opdatering
Som en løsning kan du oprette en indekseret visning på et aggregat af feltet 'særskilte'. COUNT_BIG
er et aggregat, der er tilladt i indekserede visninger:
create view vwDistinct
with schemabinding
as select x, count_big(*)
from schema.hugetable
group by x;
create clustered index cdxDistinct on vwDistinct(x);
select x from vwDistinct with (noexpand);