December 19, 2012

[MySQL 学习] Innodb锁系统(1)之如何阅读死锁日志

前言: 最近经常碰到死锁问题,由于对这块代码不是很熟悉,而常持有对文档怀疑的观点。决定从几个死锁问题着手,好好把Innodb锁系统的代码过一遍。 以下的内容不敢保证完全正确。只是我系统学习的过程。 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 最近有同学发现,走二级索引删除数据时,两条delete出现死锁。 我们可以保证二级索引记录是唯一的,按理说回表查到的主键记录不可能相同。死锁的现象如下所示: *** (1) TRANSACTION: TRANSACTION 1E7D49CDD, ACTIVE 69 sec fetching rows mysql tables in use 1, locked 1 LOCK WAIT 4 lock struct(s), heap size 1248, 4 row lock(s), undo log entries 1 MySQL thread id 1385867, OS thread handle 0x7fcebd956700, query id 837909262 10.246.145.78 im_mobile updating delete    from        offmsg_0007    […]