协程下如何保证并发超卖问题
来源:6-1 Btree索引和Hash索引

长脚的海星星
2019-05-08
我又一个order表,在开启事务后对order表中的count字段select查询。
如果 count<100 则进行其他sql逻辑,然后对 order表中的count+1。
我由于是协程并行的,用jmeter请求并发,会出现超卖的问题。 解决办法如下:
1、把隔离界别修改为串行化后,任然会有这个问题。
2、在对order表中的count查询的时候 使用 FOR UPDATE锁表,在sql不堵塞的情况下不会超卖,但是一旦SQL堵塞或者超时会出现超卖。
请问如何解决
写回答
1回答
-
sqlercn
2019-05-08
可以尝试用消息队列处理,把扣减库存的操作放入队列中,由一个线程进行队列处理
022019-05-09
相似问题