我有一个存储过程,我需要保存一些数据并处理它。我正在使用临时表(#temp)来实现此目的。现在临时表存储在tempDb中,这将导致数据库间通信,因此创建普通表会更好吗? #temp表还有其他好处吗?
答案 0 :(得分:0)
虽然与临时表的通信在技术上是一个“数据库间”通信,但tempdb通常是高度缓存的(或者可以这样配置),因此它更可能是从内存中读取,然后是从磁盘读取。
默认情况下,临时表也只能由创建临时表的进程访问,以防止未经授权的用户读取数据。还会自动管理表的清理。它还可以帮助减少工作数据库中资源的争用。
从实际角度来看,可以对常规数据库进行微调,以提供比#temp表更好的性能,但对于大多数用途,#temp表将是一个更实用的解决方案。
Tempdb性能和调优: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00841.1502/html/phys_tune/X94507.htm