关于mysql记录锁,间隙锁,临键锁的总结

233 阅读1分钟
  1. 使用唯一索引来等值查询数据时,如果这行数据存在,不会产生间隙锁,而是记录锁.
  2. 使用唯一索引来等值查询数据时,如果这行数据不存在,会产生间隙锁.
  3. 使用唯一索引来范围查询数据时,对于符合查询条件但不存在数据,产生间隙(GAP)锁.对于存在数据产生记录锁,加一起就是临键(next-key)锁.
  4. 使用普通索引,不管是等值查询还是范围查询,都会产生间隙锁.
  5. 无索引情况下,不管是值查询还是范围查询,都会锁表.(更新数据一定要使用索引)