首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据并发,因为理论使用SET column_name = value而不是增量它,就像SET column_name = column_name + difference_value一样

数据并发,因为理论使用SET column_name = value而不是增量它,就像SET column_name = column_name + difference_value一样
EN

Stack Overflow用户
提问于 2015-10-13 06:19:25
回答 1查看 122关注 0票数 1

我将doctrine2与symfony2结合使用。我对数据并发有问题。这是我的案子。

我为电子商务创建了一个网站。假设我有数量= 5的产品A。客户X同时购买4件产品A和客户Y同时购买2件产品A。对于客户X情况,原则将查询产品A,初始数量为5,然后原则更新数量并将其设置为1(5-4)。对于客户Y情况,产品A的初始数量仍为5,因为客户Y和客户X同时购买该产品,因此它们得到相同的初始数量。然后教义将数量更新为3(5-2)。

如果doctrine2提供了一些方法来通过增量方式生成查询,比如SET column_name = column_name + difference_value而不是SET column_name = value,那么这将是一个很好的解决方案。但据我所知,doctrine2总是使用SET column_name = value生成查询。

是否有任何解决方案或解决办法,而不是锁定表?通过锁定表,这意味着客户Y必须等待客户X完成他的事务。假设有100名客户同时购买该产品,其性能将非常糟糕。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-13 07:23:29

尝试使用教义交易。有很多方法可以解决你的问题。http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/transactions-and-concurrency.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33095459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档