CTE е просто псевдоним за заявката.
Може (или не) да се стартира отново всеки път, когато се използва.
Няма чист начин за налагане на CTE материализиране в SQL Server (като /*+ MATERIALIZE */ на Oracle ), и трябва да правите мръсни трикове като този:
CTE може да подобри производителността, ако се използва в планове, изискващи само една оценка (като HASH JOIN , MERGE JOIN и т.н.).
В тези сценарии хеш-таблицата ще бъде изградена направо от CTE , докато използването на временната таблица ще изисква оценка на CTE , изтегляне на резултатите във временната таблица и четене на временната таблица отново.