3
請原諒我,如果這是一個重複和/或明顯的問題,但我無法找到一個滿意的答案,無論是在stackoverflow或其他地方在線。爲什麼嵌套select語句比臨時表處理需要更長的時間?
使用Microsoft SQL Server中,我有一個看起來像這樣的嵌套選擇查詢:
select *
into FinalTable
from
(select * from RawTable1 join RawTable2)
join
(select * from RawTable3 join RawTable4)
而不是使用嵌套選擇,查詢可以使用臨時表來寫,這樣的:
select *
into Temp1
from RawTable1 join RawTable2
select *
into Temp2
from RawTable3 join RawTable4
select *
into FinalTable
from Temp1 join Temp2
雖然等同,但第二個(非嵌套)查詢的運行速度比第一個(嵌套)查詢快幾個數量級。在我的開發服務器和客戶端服務器上都是如此。爲什麼?
你的答案就在這裏http://stackoverflow.com/questions/16767645/why-is-there-a-huge-performance-difference-between-temp-table-and-subselect – radar 2014-10-30 19:38:39