码迷,mamicode.com
首页 > 其他好文 > 详细

订单系统:先减库存还是先下订单

时间:2020-04-19 01:01:34      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:upd   date   并发   一个   使用   订单   情况   库存   插入   

答案是先下单再减库存

以 MySQL 作为 DB 为例,下订单就是 insert,在使用索引的情况下,insert 插入是行级锁,支持每秒 4W 的并发。减库存就是 update 操作,命中索引时也是行级锁,但是这是个独占锁,所有的操作都要等待前一个释放锁后才能继续 update。

问题就在这里,根据 MySQL 两段锁协议,我们应该把热点操作放到离 commit 近的位置,这样可以减少行级锁的持有时间!自然处理效率就更好一些。

事务begin ---> insert ---> 其他操作 ---> update ---> 事务commit

订单系统:先减库存还是先下订单

标签:upd   date   并发   一个   使用   订单   情况   库存   插入   

原文地址:https://www.cnblogs.com/teles/p/12729089.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!