0

存档和删除过程。推荐哪一个?

当窗口关闭除此之外的任何无关交易以禁止干扰以下 tx 时,此过程将在一天结束时运行。

一、批量删除

object = read()

while ( hasNext() ) 
{
  object = next();
  call the archive_process to archive the object.
  add to delete.
}

batch_delete.

二、单个删除语句。

object = read()

while ( hasNext() ) 
{
  object = next();
  call the archive_process to archive the object.
}

use the same sql as above, but instead delete in a single statement.

推荐哪一个?

4

2 回答 2

2

这完全取决于您的具体需求:

  • 如果您的代码要求删除每条记录以便执行其他任务,则可能需要在每个循环中一次删除一行。
  • 如果您的代码可以独立于是否删除记录来完成其任务,那么在最后(在单个批次中)删除所有内容会更好。

您需要记住,每一次都会delete触发对数据的操作,并且可能会影响程序的磁盘读写速度。与许多单行删除操作相比,单个批量删除可能会对您的代码速度产生积极影响。

于 2013-05-10T17:17:48.907 回答
0

除了其他答案 - 检查您是否有足够的 UNDO 来支持 DELETE 命令。此外,使用更大的音量 DELETE 可能会变得太慢 - 检查是否存在替代方案。还要注意许多索引的影响。

于 2013-05-10T18:07:55.490 回答