MySQL锁篇-锁介绍

165 阅读1分钟

按照锁的粒度来看,MySQL主要包含三种类型(级别)的锁定机制:

  • 全局锁 锁的是整个database。由MySQL的SQL layer层实现的
  • 表级锁 锁的是某个table。由MySQL的SQL layer层实现的
  • ⾏级锁 锁的是某⾏数据,也可能锁定⾏之间的间隙。由某些存储引擎实现,⽐如InnoDB

表级锁和⾏级锁的区别: 表级锁: 开销⼩,加锁快;不会出现死锁;锁定粒度⼤,发⽣锁冲突的概率最⾼,并发度最低; ⾏级锁: 开销⼤,加锁慢;会出现死锁;锁定粒度最⼩,发⽣锁冲突的概率最低,并发度也最⾼;

按照锁的功能来说分为:共享读锁排他写锁 按照锁的实现⽅式分为:悲观锁乐观锁(使⽤某⼀版本列或者唯⼀列进⾏逻辑控制) 在这里插入图片描述