高并发下如何控制update多次执行

项目中经常会使用update 给某些字段加1,sql语句对于的类似这样:
update table set column = column+1 where id=1

在高并发场景下,如何控制只执行一次,就是说同时1000个人来请求了,但我的结果就是只要加1

阅读 3.5k
1 个回答

如何确定“高”和“低”? 来1000个请求+1,来10个呢?来2个呢?

这个“并发”,并不是真正的并发,总会有先后的。所以,你其实是定义不清楚什么情况下可以+1,什么时候又不可以+

无论怎么定义,你的需求只能加锁来解决,关键是确定什么时候锁,什么时候开锁。。。但是如果“高并发”,锁是一个不好的东西,所以,可能你的需求根本就是不合理的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏