I have had the same requirement. Indexes can not be added to a CTE. However, in the CTE select adding an ORDER BY clause on the joined fields reduced the execution time from 20 minutes or more to under 10 seconds.
(You need to also ADD SELECT TOP 100 PERCENT to allow an ORDER BY in a CTE select.)
[edit to add paraphrased quote from a comment below]:
If you have DISTINCT in the CTE then TOP 100 PERCENT doesn't work. This cheater method is always available: without needing TOP at all in the select, alter the ORDER BY statement to read:
ORDER BY [Blah] OFFSET 0 ROWS
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…