0

我正在使用普通 JDBC 连接开发应用程序。该应用程序是使用 Java-Java EE SpringsMVC 3.0 和 SQL Server 08 作为数据库开发的。我需要根据非主键列更新表。

现在,在更新表格之前,我们必须决定更新表格的方法,因为表格可能包含大量数据。更新查询将批量执行,我们需要以不占用系统资源的方式设计应用程序。
现在,我们必须在这两种方法之间做出选择,
1. 在更新之前选择数据
2. 更新数据然后选择缺失的数据。

  1. 更新前选择数据只有在失败机会最大的情况下才有用,即如果执行批量 100 查询更新,并且其中只有 20 行更新成功,则应采取这种方法
  2. 只有当故障记录少得多时,更新数据然后检查丢失的数据才是有益的。通过这种方法,可以避免一个数据库选择调用,即在批量更新之后,可以获取更新记录的计数,并且当且仅当存在与查询不匹配的计数时才应该执行选择查询。

我们完全不了解生产环境中的系统,但我们想要应对所有可能性并想要一个更快的系统。我需要您的意见,因为这是更好的方法。

4

1 回答 1

1

由于成功更新或更快选择的机会为 50:50,因此很难从提到的当前场景中判断出来。您可能需要一种模糊逻辑方法,在一段时间内获得成功更新次数的持续反馈,然后根据该数据决定是在选择之前进行更新还是在更新之前进行选择。

于 2013-01-17T19:52:59.977 回答