gpt4 book ai didi

数据库并发 - 处理不同步的对象

转载 作者:搜寻专家 更新时间:2023-10-30 22:13:36 25 4
gpt4 key购买 nike

我正在使用 DAL 服务从数据库中检索数据。

让我们观察最简单的情况,我从数据库中检索一个对象。

在检索到该对象后,我根据一些业务逻辑对其属性进行了一些更改,而且我想更新持久数据库中的对象。

但是,其他一些客户端(甚至可能是我不知道的客户端)更改了数据库中下划线对象的状态,我在尝试更新时识别了这一点。

遇到这种情况我该怎么办?

我应该抛出异常吗?

我应该尝试只更新我更改的字段吗?

当我基于持久数据执行业务逻辑时,是否应该锁定该表以进行写入?

家伙

最佳答案

我认为你应该做什么取决于你想要达到的目标。我认为您的主要选择:

  • 预先锁定 - 主要优点和缺点 - 在提交之前占用数据库,这要简单得多。

  • 不要预先锁定,合并以防其他人更新它 - 主要缺点 - 合并可能非常复杂

我会选择第一个,但我会尝试最小化锁定时间(即我会找出我想做的所有更改在锁定对象).

无论如何我不认为这是一个异常(exception)情况..所以我不会抛出异常。

关于数据库并发 - 处理不同步的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18757205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com