可能重复:
What's the difference between a temp table and table variable in SQL Server?
我使用表变量来存储查询的聚合结果。
查询如下
update @results
set col1 = totals
from ( select sum(x) as totals from ......)
where id = 1
如果我使用临时表,查询运行得更快。
在上面的查询中是否应该使用表变量或临时表?
我忽略了什么吗?
感谢
答案 0 :(得分:1)
这实际上取决于记录的数量。表变量在较小的记录集上表现更好。这是一篇很好的博客文章,其中包含一些基准测试:http://sqlnerd.blogspot.com/2005/09/temp-tables-vs-table-variables.html
答案 1 :(得分:0)
表变量很好,直到你获得超过100个结果。如果您期望100个或更多结果,那么您应该切换到临时表以提高效率。