0
據我所知,表表達式不會持續,這意味着在外部代碼中對它的每個引用都是對定義的重複調用。這是表格變量/臨時表格在圖片中的位置,堅持表格並避免每次重新評估。在我看來,表變量/臨時表是避免重複的更好選擇。餘由anology編程,其中,代替調用方法表表達式和表變量/臨時表持久性
myMethod()
每次
,我寧願一個變量分配給它
int res = myMethod()
避免調用myMethod的()多次。 myMethod()
類似於表格表達,res是表格變量/臨時表格。
那麼我們爲什麼要使用表表達式?我們必須在哪些場景中使用表格表達而不是其他兩種?反之亦然?
謝謝。
CTE的增加遞歸功能,並且也使代碼更不是派生表讀了很多人的。 –
一個有趣的意見http://sqlserverplanet.com/design/ctes-vs-temp-tables-an-opinion –