购物车结算问题
购物车结算生成订单时,需要对购物车中每件商品进行库存校验,和库存预扣除
我现在想到了两种方案
第一种:
是每次只获取一个商品的锁,然后查询判断库存,预扣除,然后释放锁,之后的商品都走一遍这个流程
第二种:
是一次性获取到所有需要结算的商品的锁,然后一次性查询出所有商品库存,进行库存判断,预扣除,然后释放所有的锁
两种方法目前我能想到的利弊:
第一种如果商品多了,访问数据库就会比较频繁,但是锁单件商品的时间短了
第二种如果商品多了,访问数据库虽然不会很频繁,但锁持有的时间肯定比第一种方法要长(而且是所有需要结算商品的锁)
哪种方法比较合适,或者有什么更好的方法
希望各位大神指导指导