在SQL 2005中,临时表和表变量的使用和以往没有什么区别。
不过呢,新的SQL OS还是为我们带来了一些内部的变化。
在SQL2000里面,如果执行计划关系到动态对象,如表变量、触发器等,计划就不会被缓存
SQL2005能缓存这些计划,避免了每次的重编译。
tempdb会缓存临时表和表变量(@t, #t)
而且SQL 2005对tempdb的改动比较大,也会提高临时表的性能,具体细节我不介绍了,不过呢,有两点建议:增加tempdb的大小,增加tempdb的文件数目(至少和CPU数目相同)。
关于SQL 2005对tempdb的改动,可以参见
http://blogs.msdn.com/weix/archive/2005/09/13/464907.aspx
[SQL Server 2005] TEMPDB optimization
http://blogs.msdn.com/weix/archive/2005/09/13/464907.aspx
[SQL Server 2005] TEMPDB optimization
|