大厂面试题,高并发库存扣减超卖问题解决,多种sql适合场景
题目:高并发库存扣减超卖问题,很多人加了乐观锁版本号去解决,那下面三种有什么区别,分别适合哪些场景使用
1)update product set stock=stock-1 where id = 1 and stock>0 2)update product set stock=stock-1 where stock=#{原先查询的库存} and id = 1 and stock>0 3)update product set stock=stock-1,versioin = version+1 where id = 1 and stock>0 and version=#{原先查询的版本号}
答案 : 核心是解决超卖的问题,就是防止库存为负数
本文作者为DBC,转载请注明。