关于mysql锁的问题

关于mysql锁的问题

老师,我mysql基础不是很好,之前不是学了分布式锁嘛,为啥这里不用for update呢?或者说,之前扣库存那边解决并发的问题,讲了几种锁,是不是也可以通过mysql,使用这种 库存字段=库存字段-销售数量 这种SQL来完成嘛~?默认update会行锁吧,貌似也行。


那这种“mysql字段=mysql字段-num”写法跟悲观锁之类的有啥区别吗?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

for update是悲观锁,这个会导致执行期间,其他的查询执行不了, 并发高的时候会导致很多其他响应慢

  • 爱吃apple的阿狸 提问者 #1

    两者都是可以满足原子操作的嘛? 只是for update 在并发的时候其他请求不能查询,我理解是这样的,那就是说这种Mysql 字段自增自减性能相对更高;  使用for update是因为需要分步骤操作mysql,先查询,加锁,再修改?

    2023-03-30 15:32:33
  • bobby 回复 提问者 爱吃apple的阿狸 #2

    for update 就是锁的概念, 有了这个就不用在代码中使用mutex了

    2023-03-31 14:25:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Go开发工程师全新版
  • 参与学习       489    人
  • 解答问题       559    个

风口上的技术,薪资水平遥遥领先,现在学习正值红利期! 未来3-5年,Go语言势必成为企业高性能项目中不可替代的语言 从基础到项目实战再到重构,对转行人员友好,真正从入门到精通!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师