Как и почему CTE дает лучшую производительность по сравнению с производными таблицами / подзапросами / временными таблицами и т. Д.?
Любые временные вычисления происходят во временной базе данных. Поэтому, если у нас есть курсорный подход, он также создает временную таблицу / рабочую таблицу во временной базе данных, и после завершения операции эта рабочая таблица уничтожается. Насколько я понимаю, CTE также делает то же самое (или создает временный результат в памяти? И, следовательно, повышает производительность). Тогда почему он лучше, чем описанные выше подходы, такие как курсор / производная таблица / подзапросы / временная таблица и т. Д.?