Member 12907266 Ответов: 2

КТР лучше или временная таблица лучших


Как мы знаем,мы не можем создавать индексы на CTE.Таким образом, временные таблицы лучше всего использовать, потому что мы можем создавать индексы на временной таблице.

но, с другой стороны, мы всегда говорим, что CTE следует предпочесть сравнительно временным таблицам?

Разве это не влияет на производительность, если использовать CTE в SQL server

Что я уже пробовал:

Производительность CTE в SQL Serevr

2 Ответов

Рейтинг:
2

Daniel Jones

Temp table-это реальный объект в tempdb, но cte-это всего лишь своего рода оболочка вокруг сложного запроса, упрощающая синтаксис организации рекурсии за один шаг.

Несколько обобщенных табличных выражений unindexable и временные таблицы могут быть проиндексированы
CTE не могут иметь ограничений, а временные таблицы могут иметь ограничения

Вы должны использовать #Temp таблицы для более длинных запросов и CTE для небольших наборов данных


Рейтинг:
0

Maciej Los

Нет никакого способа сказать, какой метод захвата временных данных лучше, особенно когда нет никаких конкретных требований. Это зависит от того, чего вы пытаетесь достичь. Очевидно, что CTE используется, когда вам нужно извлечь данные с помощью рекурсии.

Для получения более подробной информации, пожалуйста, смотрите:
sql server-что более производительно, CTE или временные таблицы? - переполнение стека[^]
sql server 2014 - CTE, временная таблица и табличная переменная-переполнение стека[^]


Member 12907266

спасибо..