Měl jsem stejný požadavek. Indexy nelze přidat do CTE. V CTE však vyberte přidání ORDER BY klauzule o spojených polích zkrátila dobu provádění z 20 minut nebo více na méně než 10 sekund.
(Musíte také PŘIDAT VÝBĚR NEJLEPŠÍCH 100 PROCENT, abyste povolili ORDER BY ve výběru CTE.)
[upravit pro přidání parafrázovaného citátu z komentáře níže]:
Pokud máte DISTINCT v CTE, pak TOP 100 PROCENT nefunguje. Tato metoda podvodníka je vždy k dispozici:aniž byste vůbec potřebovali TOP ve výběru, změňte příkaz ORDER BY na:
ORDER BY [Blah] OFFSET 0 ŘÁDKŮ