可能重复:
What's the difference between a temp table and table variable in SQL Server?
表变量和临时表有什么区别,实际上我有两个问题。
答案 0 :(得分:2)
第一个区别是没有为表变量记录事务日志。因此,它们超出了交易机制的范围,从这个例子中可以清楚地看到:
create table #T (s varchar(128))
declare @T table (s varchar(128))
insert into #T select 'old value #'
insert into @T select 'old value @'
begin transaction
update #T set s='new value #'
update @T set s='new value @'
rollback transaction
select * from #T
select * from @T
了解详情:http://www.sql-server-performance.com/articles/per/temp_tables_vs_variables_p1.aspx
答案 1 :(得分:1)
表变量在内存中分配,只有当表变大时,它才会被分配给tempdb。
在临时表上,您可以按照普通表创建索引,因为这些是按照定义在tempdb中创建的。
所以我建议你对要存储的数字行做出这个决定......