Saya memiliki persyaratan yang sama. Indeks tidak dapat ditambahkan ke CTE. Namun, di CTE pilih tambahkan ORDER BY klausa pada bidang yang digabungkan mengurangi waktu eksekusi dari 20 menit atau lebih menjadi di bawah 10 detik.
(Anda juga perlu MENAMBAHKAN SELECT TOP 100 PERCENT untuk memungkinkan ORDER BY di CTE pilih.)
[edit untuk menambahkan kutipan parafrase dari komentar di bawah]:
Jika Anda memiliki DISTINCT di CTE maka TOP 100 PERCENT tidak berfungsi. Cara cheat ini selalu ada :tanpa perlu TOP sama sekali di pilih, ubah statement ORDER BY menjadi :
ORDER BY [Blah] OFFSET 0 ROWS