更改存储过程以使用真实表而不是临时表现在运行需要更长时间

时间:2016-04-18 21:14:30

标签: sql sql-server temp-tables

我正在使用SQL Server。有一个很长的存储过程正在使用许多临时表。我们在tempdb中填写了日志文件的问题所以我们决定将所有临时表更改为真实表,以便它使用更大的日志文件。

在我将所有表从temp更改为real之后,存储过程需要更长的时间才能运行(比如30-40分钟更长)。原来约30分钟。

表格相同,包括索引。我认为速度明智它会接近相同。

数据是相同的(从具有临时表的旧过程到具有真实表的新过程)。

新表上有索引...

有人可以告诉我为什么使用真实表这个过程需要更长的时间吗?是否需要大致相同的时间才能运行?

2 个答案:

答案 0 :(得分:0)

如果要在插入

之前从真实表中删除数据,请使用truncate

答案 1 :(得分:0)

您是否检查过执行路径以确保将所有索引作为旧表?如果执行路径发生了很大变化,我不会感到惊讶。