Bare for at grine igen, kan du prøve denne forespørgsel:
select
[sID],
ROW_NUMBER() over (partition by [sID] order by [wordPos]) [rn],
[wordPos], [FTSindex].[wordID]
from [FTSindex]
join (
values (428), (2112)
) w (wordID) on w.wordID = [FTSindex].wordID
order by [sID], [rn]
Nogle gange er det korrekte svar at kaste mere hardware på problemet; selvom jeg er enig i, at dette bør være en sidste udvej og ikke en første. Om dette særlige problem kræver mere CPU, mere hukommelse eller flere spindler afhænger af mange faktorer, inklusive din nuværende hardware.
Dit resultatsæt på 1,6 millioner rækker, hver 4 heltal, burde sortere hurtigt på enhver rimelig mængde nuværende hardware. Da der opstår forsinkelser, forekommer det sandsynligt, at der sker for meget behandling på basissættet på 900 millioner rækker, og udfordringen er at identificere hvorfor. Kan du vedhæfte flere detaljer om forespørgselsplanen?