2 bglmmz bglmmz 于 2016.02.16 18:17 提问

请教一个mysql批量更新时的deadlock问题?

数据是mysql 5.6 表引擎是innoDB,DAO是mybatis3

有个表,比如是订单-物品表,里面保存每个订单的所有物品清单
字段有:record_id(记录id,自增长),order_id(订单id),good_id(物品id)等其他字段..

有个数据同步的业务场景
需要在一个事务里
先根据order_id做删除操作,delete from xxx where order_id=xx
然后再批量增加订单-物品清单insert into xxx () values(),(),()
结果发现,经常在insert into 这发生deadlock。

同时,我这个事物所在的业务方法,是多线程并发进行的。就是有并发的线程,来更新不同的订单(的物品清单)

不知道如何解决。。。。

1个回答

Mr_dsw
Mr_dsw   Ds   Rxr 2016.02.16 20:36
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!