test
.tt_copy
trx id 1101588 lock_mode X locks rec but not gaptest
.tt_copy
trx id 1101590 lock_mode X locks rec but not gap
index PRIMARY of table test
.tt_copy
trx id 1101590 lock_mode X locks rec but not gap以下没特殊说明都为RC隔离级别
满足删除条件的所有记录:LOCK_X+LOCK_REC_NOT_GAP
Update操作分解
Update操作分析
Update
change the transaction isolation level to READ COMMITTED or enable the innodb_locks_unsafe_for_binlog system variable (which is now deprecated)
By default, InnoDB operates in REPEATABLE READ transaction isolation level. In this case, InnoDB uses next-key locks for searches and index scans, which prevents phantom rows
An insert intention lock is a type of gap lock set by INSERT operations prior to(在...之前) row insertion.
• 原则之一
• 原则之二`
• 原则之三
• 原则之四
本文大多数都整理自《死锁-何登成 - 管中窥豹——MySQL(InnoDB)死锁分析之道》