我想知道,在选择行并将它们插入临时表时,实际复制或刚引用的数据是什么?
例如:
SELECT * INTO #Temp FROM SomeTable
如果桌子很大,这会是一项代价高昂的操作吗?
从我的测试中看,它的执行速度与简单的SELECT一样快,但我想更好地了解它的实际工作方式。
干杯。
答案 0 :(得分:2)
临时表在tempdb中分配。 SQL服务器通常会尝试将tempdb页面保留在内存中,但是大型表最终可能会写入磁盘。
是的,数据总是被复制。因此,例如,如果在选择临时表和以后的用法之间的另一个连接上发生UPDATE,则临时表将包含旧值