2010-08-17 42 views
0

我想知道,选择行并将它们插入临时表时,是实际复制或只是引用的数据?选择到临时表时是否复制了数据?

例如:

SELECT * INTO #Temp FROM SomeTable 

如果表是非常大的,这是怎么回事是一个代价高昂的操作?

从我的测试看来,它的执行速度与简单的SELECT执行速度差不多,但我希望更好地了解它的实际工作原理。

干杯。

回答

2

临时表分配在tempdb中。 SQL服务器通常会尝试将tempdb页面保留在内存中,但大型表可能会写入磁盘。

是的,数据总是被复制。因此,例如,如果在选择到临时表和以后的用法之间的另一个连接上发生更新,临时表将包含旧值(s)