CTE je pouze alias pro dotaz.
Může (nebo nemusí) být znovu spuštěn při každém použití.
Neexistuje žádný čistý způsob, jak vynutit CTE materializace v SQL Server (jako /*+ MATERIALIZE */ společnosti Oracle ), a musíte dělat špinavé triky, jako je tento:
CTE může zlepšit výkon, pokud se použije v plánech vyžadujících pouze jedno vyhodnocení (jako HASH JOIN , MERGE JOIN atd.).
V těchto scénářích bude hashovací tabulka vytvořena přímo z CTE , zatímco použití dočasné tabulky bude vyžadovat vyhodnocení CTE , přetažením výsledků do dočasné tabulky a přečtením této tabulky ještě jednou.