如何分析分析当前的死锁》(我用 show innodb status得到以下信息)
------------------------
LATEST DETECTED DEADLOCK
------------------------
100518  7:45:19
*** (1) TRANSACTION:
TRANSACTION 0 2834447885, ACTIVE 0 sec, process no 27899, OS thread id 1080899904 inserting
mysql tables in use 1, locked 1
LOCK WAIT 3 lock struct(s), heap size 368
MySQL thread id 351632, query id 13435675066 online2b 192.168.10.10 betbrain update
INSERT INTO Out_table
values 
(6627877045,13287509,186575405,45,2,0,1115,1117,null,0.0,7.0,'C','N','Y'),
(6627878008,13287509,186575405,8,2,1,1117,null,null,1.0,null,'C','N','Y'),
(6627879045,13287509,186575405,45,2,0,1115,1117,null,3.0,1.0,'C','N','Y'),(6627880045,13287509,186575405,45,2,0,1115,1117,null,2.0,0.0,'C','N','Y'),(6627881045,13287509,186575405,45,2,0,1115,1117,null,3.0,2.0,'C','N','Y'),(6627882045,13287509,186575405,45,2,0,1115,1117,null,2.0,5.0,'C','N','Y'),(6627883009,13287509,186575405,9,2,0,1115,null,null,null,null,'C','N','Y'),(6627884045,13287509,186575405,45,2,0,1115,1117,null,3.0,0.0,'C','N','Y'),(6627885045,13287509,186575405,45,2,0,1115,1117,null,6.0,0.0,'C','N','Y'),(6627886045,13287509,186575405,45,2,0,1115,1117,null,8.0,1.0,'C','N','Y'),(6627887045,13287509,186575405,45,2,0,1115,1117,null,0.0,6.0,'C','N','Y'),(6627888045,13287509,186575405,45,2,0,1115,1117,null,7.0,0.0,'C','N','Y'),
(6627893045,13287509,186575405,45,2,0,1115,1117,null,2.0,8.0,'C','N','Y')
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 0 page no 781492 n bits 120 index `PRIMARY` of table `db/Out_table` trx id 0 2834447885 lock_mode X insert intention waiting
Record lock, heap no 1 PHYSICAL RECORD: n_fields 1; compact format; info bits 0
 0: len 8; hex 73757072656d756d; asc supremum;;*** (2) TRANSACTION:
TRANSACTION 0 2834447884, ACTIVE 0 sec, process no 27899, OS thread id 1186797888 inserting, thread declared inside InnoDB 500
mysql tables in use 1, locked 1
3 lock struct(s), heap size 368
MySQL thread id 351758, query id 13435675088 online2a 192.168.10.20 betbrain update
INSERT INTO Out_table
values 
(6627827045,13287508,186575405,45,2,0,1115,1117,null,8.0,2.0,'C','N','Y'),
(6627828045,13287508,186575405,45,2,0,1115,1117,null,0.0,3.0,'C','N','Y'),
(6627829045,13287508,186575405,45,2,0,1115,1117,null,6.0,1.0,'C','N','Y'),
(6627830045,13287508,186575405,45,2,0,1115,1117,null,8.0,0.0,'C','N','Y'),
(6627831045,13287508,186575405,45,2,0,1115,1117,null,0.0,8.0,'C','N','Y'),
(6627832045,13287508,186575405,45,2,0,1115,1117,null,3.0,4.0,'C','N','Y'),
(6627833045,13287508,186575405,45,2,0,1115,1117,null,3.0,3.0,'C','N','Y'),
(6627834045,13287508,186575405,45,2,0,1115,1117,null,5.0,1.0,'C','N','Y'),
(6627835045,13287508,186575405,45,2,0,1115,1117,null,5.0,0.0,'C','N','Y'),
(6627836045,13287508,186575405,45,2,0,1115,1117,null,1.0,1.0,'C','N','Y'),
(6627837009,13287508,186575405,9,2,0,null,null,null,null,null,'C','N','Y'),(6627838045,13287508,186575405,45,2,0,1115,1117,null,7.0,1.0,'C','N','Y'),(6627839045,13287508,186575405,45,2,0,1115,1117,null,4.0,2.0,'C','N','Y'),(6627840045,13287508,186575405,45,2,0,1115,1117,null,2.0,6.0,'C','N','Y'),(6627841045,13287508,186575405,45,2,0,1115,1117,null,2.0,7.0,'C','N','Y'),(6627842045,13287508,186575405,45,2,0,1115,1117,null,2.0,1.0,'C','N','Y'),(6627843045,13287508,186575405,45,2,0,1115,1117,null,9.0,0.0,'C','N','Y'),(6627844045,13287508,186575405,45,2,0,1115,1117,null,5.0,3.0,'C','N','Y'),(6627845045,13287508,186575405,45,2,0,1115,1117,null,1.0,8.0,'C','N','Y'),(6627846045,13287508,186575405,45,2,0,1115,1117,null,0.0,4.0,'C','N','Y'),(6627847047,13287508,186575405,47,2,3,null,null,null,3.5,null,'C','N','Y'),(6627848045,13287508,186575405,45,2,0,1115,1117,null,0.0,1.0,'C','N','Y'),(6627849045,13287508,186575405,45,2,0,1115,1117,null,4.0,1.0,'C','N','Y'),(6627850045,13287508,186575405,45,2,0,1115,1117,null,2.0,3.0,'C','N','Y'),(6627851045,13287508,186575405,45,2,0,1115,1117,null,1.0,5.0,'C','N','Y'),(6627852045,13287508,186575405,45,2,0,1115,1117,null,2.0,2.0,'C','N','Y'),(6627853045,13287508,186575405,45,2,0,1115,1117,null,0.0,0.0,'C','N','Y'),(6627854045,13287508,186575405,45,2,0,1115,1117,null,4.0,4.0,'C','N','Y'),(6627855045,13287508,186575405,45,2,0,1115,1117,null,1.0,0.0,'C','N','Y'),(6627856045,13287508,186575405,45,2,0,1115,1117,null,4.0,0.0,'C','N','Y'),(6627857047,13287508,186575405,47,2,4,null,null,null,3.5,null,'C','N','Y'),(6627858045,13287508,186575405,45,2,0,1115,1117,null,1.0,3.0,'C','N','Y'),(6627859045,13287508,186575405,45,2,0,1115,1117,null,1.0,7.0,'C','N','Y'),(6627860045,13287508,186575405,45,2,0,1115,1117,null,2.0,4.0,'C','N','Y'),(6627861045,13287508,186575405,45,2,0,1115,1117,null,9.0,1.0,'C','N','Y'),(6627862009,13287508,186575405,9,2,0,1117,null,null,null,null,'C','N','Y'),(6627863045,13287508,186575405,45,2,0,1115,1117,null,0.0,2.0,'C','N','Y'),
(6627864069,13287508,186575405,43,2,1,1115
*** (2) HOLDS THE LOCK(S):
RECORD LOCKS space id 0 page no 781492 n bits 120 index `PRIMARY` of table `db/Out_table` trx id 0 2834447884 lock_mode X
Record lock, heap no 1 PHYSICAL RECORD: n_fields 1; compact format; info bits 0
 0: len 8; hex 73757072656d756d; asc supremum;;*** (2) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 0 page no 781492 n bits 120 index `PRIMARY` of table `db/Out_table` trx id 0 2834447884 lock_mode X insert intention waiting
Record lock, heap no 1 PHYSICAL RECORD: n_fields 1; compact format; info bits 0
 0: len 8; hex 73757072656d756d; asc supremum;;

解决方案 »

  1.   

    show processlist 先检查一下。
      

  2.   

    show processlist  看不到信息表是innodb
    查不到 , 这个表有60万数据行
    索引有7个 , 字段有12个
    是否是innodb的行锁   (索引过多 )
      

  3.   

    index `PRIMARY` of table `db/Out_table
    提示是这个 主键的问题 可以把他修改为 normal index 就可以解决问题 
      

  4.   

    Out_table  的 PRIMARY为 (id+ messid) id 和messid 2个字段组成联合主键现在质疑为什么不把他改为唯一索引 。为什么设置这2个字段为主键 而不是建立唯一索引 ????