liuhaidon

MySQL锁介绍

一、加锁的目的:解决客户端并发访问的冲突问题

二、锁的分类

  • 按照锁的功能来说分为:共享读锁和排他写锁。
  • 按照锁的实现⽅式分为:悲观锁和乐观锁(使⽤某⼀版本列或者唯⼀列进⾏逻辑控制)。
  • 按照锁的粒度来说,MySQL主要包含三种类型(级别)的锁定机制:全局锁、表级锁、⾏级锁。
  1. 全局锁:锁的是整个database。由MySQL的SQL layer层实现的。
  2. 表级锁:锁的是某个table。由MySQL的SQL layer层实现的。
  3. ⾏级锁:锁的是某⾏数据,也可能锁定⾏之间的间隙。由某些存储引擎实现,⽐如InnoDB。

三、表级锁和⾏级锁的区别

  • 表级锁:开销⼩,加锁快;不会出现死锁;锁定粒度⼤,发⽣锁冲突的概率最⾼,并发度最低。
  • ⾏级锁:开销⼤,加锁慢;会出现死锁;锁定粒度最⼩,发⽣锁冲突的概率最低,并发度最⾼。
  • 表级锁锁着整张表,我锁着的时候,别人就用不了,所以发⽣锁冲突的概率最⾼。⾏级锁锁着表的某一行,其他行还是可以操作的,发⽣锁冲突的概率最低。

分类:

技术点:

相关文章:

  • 2020-05-22
  • 2021-12-15
  • 2021-12-15
  • 2022-01-05
  • 2021-11-24
  • 2018-11-05
  • 2021-10-05
  • 2021-02-05
猜你喜欢
  • 2021-04-08
  • 2021-07-02
  • 2021-05-24
  • 2021-08-28
  • 2022-01-07
  • 2021-12-03
  • 2021-11-27
相关资源
相似解决方案