Sql server 2008 公共表表达式与临时表

Sql server 2008 公共表表达式与临时表,sql-server-2008,Sql Server 2008,我是SQL 2008的新手。当我查看常见的表表达式(带关键字)时,与使用临时表相比,性能如何。除了语法/可读性之外,使用CTE还有其他好处吗?我没有做过exesive测量,但是temp表存储在temp数据库中。CTE不是,所以在大多数简单的情况下,它们应该更快。但在某些情况下,您可能会创建大型临时表,并在其上创建索引以加快进一步的计算。这在CTEs中是不可能的。在这种情况下,它们的速度可能较慢。但和往常一样:我不认为有一个普遍的答案。它始终取决于您的查询和生成的查询计划。您不能使用临时表进行递归

我是SQL 2008的新手。当我查看常见的表表达式(带关键字)时,与使用临时表相比,性能如何。除了语法/可读性之外,使用CTE还有其他好处吗?

我没有做过exesive测量,但是temp表存储在temp数据库中。CTE不是,所以在大多数简单的情况下,它们应该更快。但在某些情况下,您可能会创建大型临时表,并在其上创建索引以加快进一步的计算。这在CTEs中是不可能的。在这种情况下,它们的速度可能较慢。但和往常一样:我不认为有一个普遍的答案。它始终取决于您的查询和生成的查询计划。

您不能使用临时表进行递归查询。