0

本质上,我想在 MySQL 中的一个过程的生命周期中将一些行存储在一个临时变量中。

我的程序将在程序开始时抓取一列外键。完成与他们的合作后,我想更新表格以表明他们已被处理。当我的程序处理它的数据集时,可能会有插入到这个表中,所以我不想错误地将这些新行标记为已处理。我也不想锁定这个表并阻止正在插入的线程。

临时表是最好的解决方案吗?

4

2 回答 2

1

如果它在 SQL Server 中,请改为使用表变量进行调查...

Declare @MyFKs  Table 
   (FkId Integer Primary Key Not Null,
    isProcessed bit) 

虽然它们没有那么灵活(不能向它们添加多个索引),但表变量不像临时表那样参与事务日志记录,所以对于窄表,您只存储一个键和最多几个数据列,它们可以比临时表更好的性能。

于 2008-11-18T16:42:14.823 回答
1

临时表将是解决此问题的最简单且可能最好的方法。

于 2008-11-19T11:06:57.150 回答