2011-06-01 116 views
0

我正在重写使用大量Temp表的Access应用程序。这意味着数据会被添加到表格中,被按下,用于其他表格中的更新,然后数据被删除。如果最好使用临时/临时表或存储在本地内存中的表的类似进程,我试图弄清楚何时将其移至SQL Server。使用SQL Server临时表

是否有这样的首选方法?

编辑:

每个请求附加信息。目前的过程基本上是在一个早晨过程中。

Table1 data moves to Table2 (temp) 
Table1 data is deleted 
Table1 gets new data for the day 
Table2 gets a few updates 
Table2 is then used to update Table1 
Table2 data is deleted. 

正如我所说的这个当前进程在Access数据库是可怕的设计,所以我们正在重新设计它的SQL服务器上运行。

回答

1

这是那些“它取决于”的情况之一。总的来说,如果将有多个用户(或自动化源)同时运行使用“临时表方法”的进程,则最好使用临时表,因为每个实例都有其自己的唯一集合(一个或更多)临时表。但是,如果只有这样一个过程的一个实例,那么可以有一个“固定”的永久登台表来完成工作。

+0

将只有一个进程在运行并使用'temp'表。 – Taryn 2011-06-01 14:25:25

+0

如果整个过程与您描述的一样(相对)简单,则在存储过程中使用临时表应该足够。如果数据量很大(相对于您的硬件或您期望的性能),使用永久性临时表可能会获得更好的性能。 – 2011-06-01 15:07:54

+0

但是,存储过程中的临时表不需要物理存储在物理表中的磁盘上。 – Matthew 2011-06-01 15:20:21