Имах същото изискване. Индексите не могат да се добавят към CTE. В CTE обаче изберете добавяне на ПОРЪЧАЙ ПО клаузата за съединените полета намали времето за изпълнение от 20 минути или повече до под 10 секунди.
(Трябва също така да добавите ADD SELECT TOP 100 PERCENT, за да разрешите ORDER BY в CTE select.)
[редактирайте, за да добавите перифразиран цитат от коментар по-долу]:
Ако имате DISTINCT в CTE, тогава TOP 100 PERCENT не работи. Този метод на измамник е винаги наличен:без изобщо да се нуждаете от TOP в избраното, променете израза ORDER BY, така че да се чете:
ORDER BY [Blah] OFFSET 0 ROWS