Chỉ để cười khúc khích một lần nữa, bạn có thể thử truy vấn này không:
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]
Đôi khi, ném nhiều phần cứng hơn vào vấn đề là câu trả lời chính xác; mặc dù tôi đồng ý rằng đây nên là phương sách cuối cùng chứ không phải là phương án đầu tiên. Việc vấn đề cụ thể này có yêu cầu nhiều CPU hơn, nhiều bộ nhớ hơn hay nhiều trục xoay hơn hay không phụ thuộc vào nhiều yếu tố, bao gồm cả phần cứng hiện tại của bạn.
Tập hợp kết quả của bạn gồm 1,6 triệu hàng, mỗi hàng 4 số nguyên, sẽ được sắp xếp nhanh chóng trên bất kỳ lượng phần cứng hiện tại hợp lý nào. Vì sự chậm trễ đang xảy ra nên có vẻ như quá nhiều quá trình xử lý đang xảy ra trên tập hợp cơ sở gồm 900 triệu hàng và thách thức là xác định lý do tại sao. Bạn có thể đính kèm thêm chi tiết về kế hoạch truy vấn không?