繁体   English   中英

哪种情况更有效?

[英]Which scenario is more efficient?

全部,我有一个包含一些数据的数据库。 我也有一个与数据库通信的C ++应用程序。

哪种情况更有效?

方案1:

  1. 用户点击“编辑数据”按钮。
  2. 程序从DB读取数据并将其显示以进行编辑
  3. 用户编辑数据并点击“保存”按钮
  4. 程序使用新保存的数据创建新对象,然后与旧对象进行比较。
  5. 程序发出一些UPDATE语句。

方案2:

  1. 步骤1-3相同。
  2. 程序用新数据覆盖旧的对象数据。
  3. 在一个事务中编程发出DELETE / INSERT语句。

我倾向于说场景2。

这是一个有效且交易上合理的问题。 删除现有对象以执行更新在事务上不可行。 存在更新以更新数据库中的现有实体。 如果您使用合成键,则根本无法使用此方法。

在大多数系统中,必须进行一次重新引用(以至少检查您要提交的对象是否已从数据库中请求以来已被修改)。

步骤4应该读取数据库中的对象,以确保它尚未更改,然后提交更新或回滚。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM