大概描述下死锁信息,都是同一个sql,只是是由不同的事务造成的.这个sql是一个自定义函数.
函数内容如下:
BEGIN
declare v_title bigint(20);
INSERT INTO sys_seq(`name`) VALUES (`xxkey` );
SELECT COUNT(1) INTO v_title FROM sys_seq WHERE `name` = `xxkey` ;
return v_title;
END
这个函数的大概意思就是插入一条,然后取这个表的总数..根据这个总数.用到别的地方.
现在来看看死锁信息,在show engine innodb status\G下.
------------------------
LATEST DETECTED DEADLOCK
------------------------
*** (1) TRANSACTION:
TRANSACTION BB18EEEB, ACTIVE 0 sec fetching rows
mysql tables in use 1, locked 1
LOCK WAIT 5 lock struct(s), heap size 1248, 76 row lock(s), undo log entries 1
MySQL thread id 52479047, OS thread handle 0x40f28940, query id 3870726576 10.17.4.133 newC_nirvana_pos Sending data
SELECT COUNT(1) INTO v_title FROM sys_seq WHERE `name` = NAME_CONST('xxkey',_utf8'SettleSerialNo' COLLATE 'utf8_general_ci')
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 943 page no 8 n bits 832 index `uk_trade_seq_id` of table `yjf_nirvana_pos`.`sys_seq` trx id BB18EEEB lock_mode X locks rec but not gap waiting
Record lock, heap no 112 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 800000000000006f; asc o;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
*** (2) TRANSACTION:
TRANSACTION BB18EEDD, ACTIVE 0 sec fetching rows, thread declared inside InnoDB 263
mysql tables in use 1, locked 1
223 lock struct(s), heap size 47544, 297 row lock(s), undo log entries 1
MySQL thread id 52479374, OS thread handle 0x4d108940, query id 3870726537 10.17.4.135 newC_nirvana_pos Sending data
SELECT COUNT(1) INTO v_title FROM sys_seq WHERE `name` = NAME_CONST('xxkey',_utf8'twoSettleNo' COLLATE 'utf8_general_ci')
*** (2) HOLDS THE LOCK(S):
RECORD LOCKS space id 943 page no 8 n bits 832 index `uk_trade_seq_id` of table `yjf_nirvana_pos`.`sys_seq` trx id BB18EEDD lock_mode X locks rec but not gap
Record lock, heap no 112 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 800000000000006f; asc o;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 113 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 8000000000000070; asc p;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 122 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 8000000000000079; asc y;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 123 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 800000000000007a; asc z;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 164 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000a3; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 165 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000a4; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 166 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000a5; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 167 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000a6; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 172 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000ab; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 173 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000ac; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 174 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000ad; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 175 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000ae; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 180 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000b3; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 185 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000b8; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 186 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000b9; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 189 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000bc; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 194 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000c1; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 195 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000c2; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 196 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000c3; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 197 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000c4; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 209 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000d0; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 221 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000dc; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 244 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000f3; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 245 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000f4; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 246 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000f5; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 247 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000f6; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 252 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000fb; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 253 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000fc; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 254 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000fd; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
Record lock, heap no 255 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 80000000000000fe; asc ;;
1: len 11; hex 74776f536574746c654e6f; asc twoSettleNo;;
*** (2) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 943 page no 233 n bits 600 index `uk_trade_seq_id` of table `yjf_nirvana_pos`.`sys_seq` trx id BB18EEDD lock_mode X locks rec but not gap waiting
Record lock, heap no 532 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
0: len 8; hex 800000000001f017; asc ;;
1: len 14; hex 536574746c6553657269616c4e6f; asc SettleSerialNo;;