【发布时间】:2013-08-31 18:54:30
【问题描述】:
使用CTE's (common table expressions) 代替temp tables 有什么好处。
我在它们之间进行了性能测试,但我找不到它们之间的太大差异。
使用CTE'S有哪些优缺点?
【问题讨论】:
-
我不太了解性能差异,但是 cte 允许简单的循环和递归,如果查询输出将被多次访问并且重新运行将浪费时间。
-
它们是不同的东西,真的是课程的马。哪个最好取决于您的具体情况。你的问题不亚于
What are the benefits of using Views rather than tables? -
CTE 的执行速度也较慢,因为结果未缓存。因此,每次您使用 CTE 时,它都会重新运行查询、计划和所有操作
-
^ 这很重要,尤其是在 CTE/TT 处理数百万行数据的情况下。
标签: sql tsql sql-server-2008-r2 common-table-expression temp-tables