2010-08-17 40 views
0

我想知道,選擇行並將它們插入臨時表時,是實際複製或只是引用的數據?選擇到臨時表時是否複製了數據?

例如:

SELECT * INTO #Temp FROM SomeTable 

如果表是非常大的,這是怎麼回事是一個代價高昂的操作?

從我的測試看來,它的執行速度與簡單的SELECT執行速度差不多,但我希望更好地瞭解它的實際工作原理。

乾杯。

回答

2

臨時表分配在tempdb中。 SQL服務器通常會嘗試將tempdb頁面保留在內存中,但大型表可能會寫入磁盤。

是的,數據總是被複制。因此,例如,如果在選擇到臨時表和以後的用法之間的另一個連接上發生更新,臨時表將包含舊值(s)