间隙锁 间隙锁是一种对索引区间进行加锁的机制,需要在innodb,可重复读的隔离级别下。 比如select ... where name = '' for update 如果不存在特定记录命中,就对某个区间/间隙加锁 如果命中特定记录,在判断name的索引类型 如果name是普通索引,对区间/间隙加锁 如果name是主键索引或者唯一索引,对命中记录加记录锁而不是间隙锁 间隙锁的机制影响了比如删除不存在的记录的加锁方式。