Mysql死锁问题

com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
; SQL []; Deadlock found when trying to get lock; try restarting transaction; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting tran

saction

SQL: insert into action_count      ( id,                       user_id,                       event_type,                       count )       values ( ?,                       ?,                       ?,               
        ? )

action_count表中对user_id和event_type做了唯一索引,移动端每次上报都会将数据拆分成两条进行入库,并且对这个插入事件启动了一个事务

今天在生产环境遇到此问题,插入操作遇到了死锁问题,后经排查是移动端数据重复上报了两条行为,间隔几毫秒,后台根本处理不过来

总结:

     上一个事务插入了数据a,在提交事务之前,又开启了一个事务企图获取数据a,结果就是死锁

你可能感兴趣的:(Mysql)