打开开关innodb_lock_monitor用来查看一条语句执行的时候,使用命令show engine innodb status对系统中的lock信息。
开启mysql> use marketingDatabase changedmysql>mysql> create table innodb_lock_monitor(x int) engine=innodb;Query OK, 0 rows affected (0.08 sec)mysql> exitBye
关闭mysql> use marketingReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> drop table innodb_lock_monitor;Query OK, 0 rows affected (0.02 sec)
然后使用show engine innodb status进行显示,关于lock的部分是
---TRANSACTION 31C, ACTIVE 42 sec 2 lock struct(s), heap size 320, 6 row lock(s) MySQL thread id 2, OS thread handle 0x1220, query id 128 localhost 127.0.0.1 root Trx read view will not see trx with id >= 31D, sees < 31D TABLE LOCK table `test`.`ta` trx id 31C lock mode IX (-------------对表加了IX意向锁) RECORD LOCKS space id 0 page no 312 n bits 72 index `GEN_CLUST_INDEX` of table `test`.`ta` trx id 31C lock_mode X(对以下的行加了X锁) Record lock, heap no 1 PHYSICAL RECORD: n_fields 1; compact format; info bits 0 0: len 8; hex 73757072656d756d; asc supremum;; Record lock, heap no 2 PHYSICAL RECORD: n_fields 5; compact format; info bits 0 0: len 6; hex 000000000203; asc ;; 1: len 6; hex 00000000030a; asc ;; 2: len 7; hex 8b000001390110; asc 9 ;; 3: len 4; hex 80000003; asc ;; 4: SQL NULL; Record lock, heap no 3 PHYSICAL RECORD: n_fields 5; compact format; info bits 0 0: len 6; hex 000000000204; asc ;; 1: len 6; hex 00000000030a; asc ;; 2: len 7; hex 8b00000139011e; asc 9 ;; 3: len 4; hex 80000004; asc ;; 4: SQL NULL; Record lock, heap no 4 PHYSICAL RECORD: n_fields 5; compact format; info bits 0 0: len 6; hex 000000000205; asc ;; 1: len 6; hex 00000000030a; asc ;; 2: len 7; hex 8b00000139012c; asc 9 ,;; 3: len 4; hex 80000005; asc ;; 4: SQL NULL; Record lock, heap no 5 PHYSICAL RECORD: n_fields 5; compact format; info bits 0 0: len 6; hex 000000000206; asc ;; 1: len 6; hex 000000000312; asc ;; 2: len 7; hex 900000013f0110; asc ? ;; 3: len 4; hex 8000000b; asc ;; 4: len 4; hex 8000000c; asc ;; Record lock, heap no 6 PHYSICAL RECORD: n_fields 5; compact format; info bits 0 0: len 6; hex 00000000020c; asc ;; 1: len 6; hex 000000000316; asc ;; 2: len 7; hex 94000001420110; asc B ;; 3: len 4; hex 8000000c; asc ;; 4: len 4; hex 8000000d; asc ;;