为什么tablle变量存储过程比临时表存储过程花费更多时间来执行

时间:2016-05-25 07:03:07

标签: sql-server-2008 stored-procedures temp-tables table-variable

在一个SP1中我使用了7个@Table变量,在另一个SP2中我使用了7个#Temp表。两个SP使用相同的表。但SP1与SP2相比,执行时间更长。任何人都可以给出明确的解释。

1 个答案:

答案 0 :(得分:0)

表变量旨在仅容纳少量数据(统计信息不适用于它们)

临时表可以容纳更大更快(但不适合非常大的数据集,因为它在磁盘上使用IO操作)

如果您使用这些进行分页,请使用fetch next rows方法或group by(生成行号),然后过滤行号