sql >> Databáze >  >> RDS >> Sqlserver

Přidání INDEXu k CTE

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Ů



  1. Fulltextové vyhledávání od PostgreSQL 8.3

  2. Jak vytvořím cizí klíč v SQL Server?

  3. Výsledek group_concat nefunguje ve stavu IN

  4. SQL:Vyhledejte seznam sloupců s danou hodnotou (v rámci řádku)