Detta är sannolikt inte ett problem med indexering, utan ett problem med datadesign. Normalisering, för att vara exakt. Det faktum att du behöver fråga efter distinkta värden för ett fält, och till och med är villig att lägga till ett index, är en stark indikator på att fältet bör normaliseras till en separat tabell med en (liten) join-nyckel. Då blir de distinkta värdena tillgängliga omedelbart genom att skanna den mycket mindre utländska uppslagstabellen.
Uppdatera
Som en lösning kan du skapa en indexerad vy på ett aggregat av fältet "distinkt". COUNT_BIG
är ett aggregat som är tillåtet i indexerade vyer:
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);