2010-07-16 66 views
1

Alias和CTE是否一样?

从(选择从雇员 *)为t

选择ID

是相同

;用温度为(SELECT * FROM雇员)从 选择ID临时

?????

双方将返回关于面向性能相同result.But。

回答

2

是的,在你的例子中他们是一样的,你应该查看执行计划以查看它们工作方式和性能的差异。如果您在SSMS中包含“执行计划”并在一个批次中执行两个查询,您将收到'查询成本(与批次相关)',这将告诉您哪个查询性能更好。我猜他们是相同的。

的CTE(你的第二个语句)在派生表的优点是它们可以参考自己,并且被用于递归。

+0

我检查了客户端统计两个类型的查询,我发现总的执行时间是相同的。我如何知道内存中占用的执行空间。 感谢您的答复 – Manoj 2010-07-16 13:02:33

+0

看的执行计划,将鼠标悬停在箭头和工具提示应该给你更多的信息。 – 2010-07-16 13:19:17

+0

CTE不仅可以用于递归。它们更像是一个临时的命名视图或查询宏。 – shawnt00 2012-07-09 22:47:18