2010-07-16 37 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