This is easy to confirm on recent PS 5.6.19 as well: mysql> select version(); +-------------+ | version() | +-------------+ | 5.6.19-67.0 | +-------------+ 1 row in set (0,00 sec) mysql> CREATE TABLE innodb_lock_monitor (a int) engine = innodb; Query OK, 0 rows affected, 1 warning (0,32 sec) mysql> CREATE TABLE `t_lock` ( -> `id` int(11) NOT NULL DEFAULT '0', -> `code` int(11) DEFAULT NULL, -> `note` varchar(20) DEFAULT NULL, -> PRIMARY KEY (`id`), -> KEY `idx_1` (`code`) -> ) ENGINE=InnoDB; Query OK, 0 rows affected (0,34 sec) mysql> insert into t_lock (id, code) values (1, 10), (2, 20), (3, 30); Query OK, 3 rows affected (0,05 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> mysql> begin; Query OK, 0 rows affected (0,00 sec) mysql> update t_lock set note="bla" where code > 10; Query OK, 2 rows affected (0,00 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> select sleep(10); +-----------+ | sleep(10) | +-----------+ | 0 | +-----------+ 1 row in set (10,00 sec) mysql> show engine innodb status\G *************************** 1. row *************************** Type: InnoDB Name: Status: ===================================== 2014-07-23 16:12:01 7f2045667700 INNODB MONITOR OUTPUT ===================================== Per second averages calculated from the last 4 seconds ----------------- BACKGROUND THREAD ----------------- srv_master_thread loops: 18 srv_active, 0 srv_shutdown, 1723 srv_idle srv_master_thread log flush and writes: 1740 ---------- SEMAPHORES ---------- OS WAIT ARRAY INFO: reservation count 29 OS WAIT ARRAY INFO: signal count 28 Mutex spin waits 205, rounds 601, OS waits 12 RW-shared spins 15, rounds 450, OS waits 15 RW-excl spins 1, rounds 60, OS waits 2 Spin rounds per wait: 2.93 mutex, 30.00 RW-shared, 60.00 RW-excl ------------ TRANSACTIONS ------------ Trx id counter 18287 Purge done for trx's n:o < 18286 undo n:o < 0 state: running but idle History list length 206 LIST OF TRANSACTIONS FOR EACH SESSION: ---TRANSACTION 18286, ACTIVE 32 sec 3 lock struct(s), heap size 360, 5 row lock(s), undo log entries 2 MySQL thread id 49, OS thread handle 0x7f2045667700, query id 1030 localhost root init show engine innodb status TABLE LOCK table `test`.`t_lock` trx id 18286 lock mode IX RECORD LOCKS space id 177 page no 4 n bits 72 index `idx_1` of table `test`.`t_lock` trx id 18286 lock_mode X RECORD LOCKS space id 177 page no 3 n bits 72 index `PRIMARY` of table `test`.`t_lock` trx id 18286 lock_mode X locks rec but not gap -------- FILE I/O -------- I/O thread 0 state: waiting for completed aio requests (insert buffer thread) I/O thread 1 state: waiting for completed aio requests (log thread) I/O thread 2 state: waiting for completed aio requests (read thread) I/O thread 3 state: waiting for completed aio requests (read thread) I/O thread 4 state: waiting for completed aio requests (read thread) I/O thread 5 state: waiting for completed aio requests (read thread) I/O thread 6 state: waiting for completed aio requests (write thread) I/O thread 7 state: waiting for completed aio requests (write thread) I/O thread 8 state: waiting for completed aio requests (write thread) I/O thread 9 state: waiting for completed aio requests (write thread) Pending normal aio reads: 0 [0, 0, 0, 0] , aio writes: 0 [0, 0, 0, 0] , ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0 Pending flushes (fsync) log: 0; buffer pool: 0 491 OS file reads, 216 OS file writes, 116 OS fsyncs 0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s ------------------------------------- INSERT BUFFER AND ADAPTIVE HASH INDEX ------------------------------------- Ibuf: size 1, free list len 0, seg size 2, 0 merges merged operations: insert 0, delete mark 0, delete 0 discarded operations: insert 0, delete mark 0, delete 0 0.00 hash searches/s, 0.00 non-hash searches/s --- LOG --- Log sequence number 779024375 Log flushed up to 779024375 Pages flushed up to 779024375 Last checkpoint at 779024375 Max checkpoint age 80826164 Checkpoint age target 78300347 Modified age 0 Checkpoint age 0 0 pending log writes, 0 pending chkp writes 63 log i/o's done, 0.00 log i/o's/second ---------------------- BUFFER POOL AND MEMORY ---------------------- Total memory allocated 137363456; in additional pool allocated 0 Total memory allocated by read views 192 Internal hash tables (constant factor + variable factor) Adaptive hash index 2266720 (2213368 + 53352) Page hash 139112 (buffer pool 0 only) Dictionary cache 3563414 (554768 + 3008646) File system 831880 (812272 + 19608) Lock system 333232 (332872 + 360) Recovery system 0 (0 + 0) Dictionary memory allocated 3008646 Buffer pool size 8191 Buffer pool size, bytes 134201344 Free buffers 7689 Database pages 499 Old database pages 0 Modified db pages 0 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 0, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 467, created 32, written 131 0.00 reads/s, 0.00 creates/s, 0.00 writes/s No buffer pool page gets since the last printout Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 499, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0] -------------- ROW OPERATIONS -------------- 0 queries inside InnoDB, 0 queries in queue 0 read views open inside InnoDB 1 RW transactions active inside InnoDB 0 RO transactions active inside InnoDB 1 out of 1000 descriptors used Main thread process no. 1411, id 139776472635136, state: sleeping Number of rows inserted 19, updated 2, deleted 0, read 26 0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s ------------ TRANSACTIONS ------------ Trx id counter 18287 Purge done for trx's n:o < 18286 undo n:o < 0 state: running but idle History list length 206 LIST OF TRANSACTIONS FOR EACH SESSION: ---TRANSACTION 18286, ACTIVE 32 sec 3 lock struct(s), heap size 360, 5 row lock(s), undo log entries 2 MySQL thread id 49, OS thread handle 0x7f2045667700, query id 1030 localhost root init show engine innodb status TABLE LOCK table `test`.`t_lock` trx id 18286 lock mode IX RECORD LOCKS space id 177 page no 4 n bits 72 index `idx_1` of table `test`.`t_lock` trx id 18286 lock_mode X RECORD LOCKS space id 177 page no 3 n bits 72 index `PRIMARY` of table `test`.`t_lock` trx id 18286 lock_mode X locks rec but not gap ---------------------------- END OF INNODB MONITOR OUTPUT ============================ 1 row in set (0,00 sec) See 5 row locks mentioned, but only 2 listed. Now upstream: mysql> select version(); +------------+ | version() | +------------+ | 5.6.19-log | +------------+ 1 row in set (0.04 sec) mysql> CREATE TABLE innodb_lock_monitor (a int) engine = innodb; Query OK, 0 rows affected, 1 warning (1.39 sec) mysql> mysql> CREATE TABLE `t_lock` ( -> `id` int(11) NOT NULL DEFAULT '0', -> `code` int(11) DEFAULT NULL, -> `note` varchar(20) DEFAULT NULL, -> PRIMARY KEY (`id`), -> KEY `idx_1` (`code`) -> ) ENGINE=InnoDB; Query OK, 0 rows affected (0.51 sec) mysql> mysql> insert into t_lock (id, code) values (1, 10), (2, 20), (3, 30); Query OK, 3 rows affected (0.18 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> mysql> begin; Query OK, 0 rows affected (0.00 sec) mysql> update t_lock set note="bla" where code > 10; Query OK, 2 rows affected (0.04 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> select sleep(10); +-----------+ | sleep(10) | +-----------+ | 0 | +-----------+ 1 row in set (10.02 sec) mysql> show engine innodb status\G *************************** 1. row *************************** Type: InnoDB Name: Status: ===================================== 2014-07-23 16:15:30 1e68 INNODB MONITOR OUTPUT ===================================== Per second averages calculated from the last 13 seconds ----------------- BACKGROUND THREAD ----------------- srv_master_thread loops: 74 srv_active, 0 srv_shutdown, 713355 srv_idle srv_master_thread log flush and writes: 713427 ---------- SEMAPHORES ---------- OS WAIT ARRAY INFO: reservation count 159 OS WAIT ARRAY INFO: signal count 151 Mutex spin waits 633, rounds 5860, OS waits 68 RW-shared spins 59, rounds 1752, OS waits 58 RW-excl spins 11, rounds 720, OS waits 23 Spin rounds per wait: 9.26 mutex, 29.69 RW-shared, 65.45 RW-excl ------------ TRANSACTIONS ------------ Trx id counter 50884 Purge done for trx's n:o < 50883 undo n:o < 0 state: running but idle History list length 444 LIST OF TRANSACTIONS FOR EACH SESSION: ---TRANSACTION 50883, ACTIVE 27 sec 3 lock struct(s), heap size 360, 5 row lock(s), undo log entries 2 MySQL thread id 30, OS thread handle 0x1e68, query id 344 localhost ::1 root ini t show engine innodb status TABLE LOCK table `test`.`t_lock` trx id 50883 lock mode IX RECORD LOCKS space id 449 page no 4 n bits 72 index `idx_1` of table `test`.`t_l ock` trx id 50883 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;; Record lock, heap no 3 PHYSICAL RECORD: n_fields 2; compact format; info bits 0 0: len 4; hex 80000014; asc ;; 1: len 4; hex 80000002; asc ;; Record lock, heap no 4 PHYSICAL RECORD: n_fields 2; compact format; info bits 0 0: len 4; hex 8000001e; asc ;; 1: len 4; hex 80000003; asc ;; RECORD LOCKS space id 449 page no 3 n bits 72 index `PRIMARY` of table `test`.`t _lock` trx id 50883 lock_mode X locks rec but not gap Record lock, heap no 5 PHYSICAL RECORD: n_fields 5; compact format; info bits 0 0: len 4; hex 80000002; asc ;; 1: len 6; hex 00000000c6c3; asc ;; 2: len 7; hex 1f000014e60326; asc &;; 3: len 4; hex 80000014; asc ;; 4: len 3; hex 626c61; asc bla;; Record lock, heap no 6 PHYSICAL RECORD: n_fields 5; compact format; info bits 0 0: len 4; hex 80000003; asc ;; 1: len 6; hex 00000000c6c3; asc ;; 2: len 7; hex 1f000014e60348; asc H;; 3: len 4; hex 8000001e; asc ;; 4: len 3; hex 626c61; asc bla;; ... You can see all 5 locks above.