Какие из них более производительны, CTE или временные таблицы? - PullRequest
125 голосов
/ 27 марта 2009

Какие более производительные, CTE или Temporary Tables?

Ответы [ 12 ]

1 голос
/ 10 июня 2014

Я только что протестировал это - и CTE, и не-CTE (где запрос был напечатан для каждого экземпляра объединения) заняли ~ 31 секунду CTE сделал код намного более читабельным, хотя сократил его с 241 до 130 строк, что очень хорошо. С другой стороны, временная таблица сократила его до 132 строк и потребовала ПЯТЬ СЕКУНД для запуска. Я не шучу. все это тестирование было кэшировано - все запросы выполнялись несколько раз.

1 голос
/ 27 марта 2009

Это действительно открытый вопрос, и все зависит от того, как он используется и от типа временной таблицы (переменная таблицы или традиционная таблица).

Традиционная временная таблица хранит данные во временной базе данных, что замедляет временные таблицы; однако табличные переменные этого не делают.

...