插入速度临时表与普通表

时间:2013-04-22 15:45:32

标签: sql-server temp-tables sql-insert

有许多关于临时表和表变量的线程。

但是,我的问题是,是什么让临时表比Microsoft SQL Server中的普通表快得多?

如果我插入临时表,我的存储过程运行速度快5倍,然后将数据移出普通表。

最明显的答案是键/索引,但普通表根本没有任何键。

还有什么能让它跑得更快?

由于

1 个答案:

答案 0 :(得分:4)

几种可能性:

  1. TempDB可以使用更快的I / O
  2. 查询可以是并行的,并且如果您已将其配置为执行此操作,则可以利用多个tempdb数据文件
  3. 当用户数据库必须等待自动增长时,TempDB可以有空间插入
  4. 由于类似的原因,用户数据库可能也会对日志记录产生约束
  5. 用户数据库可能必须“唤醒” - 例如如果AutoClose设置为ON