gpt4 book ai didi

sql-server - Sql Server 事务——使用建议

转载 作者:行者123 更新时间:2023-12-03 16:50:03 25 4
gpt4 key购买 nike

我不止在一个地方看到过这句话:

“事务应尽可能短,以避免并发问题并实现最大数量的积极提交。”

这到底是什么意思?

现在我很困惑,因为我想为我的应用程序使用事务,在正常使用中,事务会同时处理来自许多客户端的数百行插入。

例如,我有一个公开方法的服务:AddObjects(List<Objects>)当然,这些对象包含其他嵌套的不同对象。

我正在考虑为执行适当操作的客户端的每个调用启动一个事务(为每个对象及其嵌套对象插入/更新/删除)。 EDIT1:我的意思是整个“AddObjects”调用的事务,以防止未定义的状态/行为。

我走错方向了吗?如果是,你会怎么做,你的建议是什么?

EDIT2:另外,我知道批量操作的交易速度很快,但它与引用的句子有些矛盾。结论是什么?

提前致谢!

最佳答案

事务必须涵盖业务特定的工作单元。它与通用“对象”无关,它必须始终以特定领域的术语表达:“账户 X 的借方和账户 Y 的贷方必须在交易中”,“减去库存项目和销售必须在交易中” ' 等等等等。所有必须一起成功或一起失败的事情都必须在事务中。如果您走的是“将对象添加到列表是一项事务”的抽象路径,那么是的,您走错了路。对象保存触发的所有插入/更新/删除都在事务中这一事实不是目的,而是副作用。正确的语义应该是“对象 X 的更新和对象 Y 的更新必须在事务中”。即使是更新单个“对象”的退化情况,仍应根据领域特定术语来考虑。

关于sql-server - Sql Server 事务——使用建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281646/

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