CREATE TABLE t1(a INT PRIMARY KEY, b VARCHAR(40), c INT, INDEX(b,c)) ENGINE=InnoDB; INSERT INTO t1 VALUES (1,'1',1),(2,'2',1); SET @save_locks= @@GLOBAL.innodb_status_output_locks; SET GLOBAL INNODB_STATUS_OUTPUT_LOCKS = 'ON'; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; BEGIN; DELETE FROM t1 WHERE b='2' AND c=2; SHOW ENGINE INNODB STATUS; Type Name Status InnoDB 2 lock struct(s), 1 row lock(s) ROLLBACK; SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; BEGIN; DELETE FROM t1 WHERE b='2' AND c=2; SHOW ENGINE INNODB STATUS; Type Name Status InnoDB 2 lock struct(s), 1 row lock(s) ROLLBACK; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; BEGIN; DELETE FROM t1 WHERE b='2' AND c=2; SHOW ENGINE INNODB STATUS; Type Name Status InnoDB 1 lock struct(s), 0 row lock(s) ROLLBACK; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; BEGIN; DELETE FROM t1 WHERE b='2' AND c=2; SHOW ENGINE INNODB STATUS; Type Name Status InnoDB 1 lock struct(s), 0 row lock(s) ROLLBACK; SET GLOBAL INNODB_STATUS_OUTPUT_LOCKS = @save_locks; DROP TABLE t1;