从锁的类别上分MySQL都有哪些锁

MySQL的锁有三种类别:1. 表级锁:包括表共享锁和表独占锁;2. 行级锁:包括共享锁和排他锁;3. 页面锁。表级锁中表共享锁允许一个事务读取一张表,同时阻止其他事务对该表进行写操作。表独占锁阻止其他事务对表进行读写操作,通常用于对整个表的操作如删除表。页面锁定是MySQL中InnoDB存储引擎的特性,页面锁锁定的是数据文件中的一页,通常用于大批量的数据操作。

从锁的类别上分MySQL都有哪些锁

1.表级锁

  • 表共享锁(Table Shared Lock): 允许一个事务读取一张表,同时阻止其他事务对该表进行写操作。
  • 表独占锁(Table Exclusive Lock): 阻止其他事务对表进行读写操作,通常用于对整个表的操作如删除表等。

2.行级锁

  • 共享锁(Shared Lock): 允许事务读取一行数据,同时阻止其他事务对该行数据进行修改和删除。
  • 排他锁(Exclusive Lock): 阻止其他事务对该行数据进行读写操作,通常用于对单个行的更新或删除操作。

3.页面锁

  • 页面锁定是MySQL中InnoDB存储引擎的特性,它介于表级锁和行级锁之间。页面锁锁定的是数据文件中的一页,通常用于大批量的数据操作。

延伸阅读:

MySQL锁的实现机制

MySQL的锁实现是通过锁管理器来完成的。锁管理器负责管理所有的锁请求和释放锁的请求。当一个事务请求一个锁时,锁管理器会判断该锁是否可以被授予。如果可以,那么事务将得到锁并继续执行。如果不能,那么事务将进入等待状态,直到锁被其他事务释放。

文章标题:从锁的类别上分MySQL都有哪些锁,发布者:Flawy,转载请注明出处:https://worktile.com/kb/p/59386

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Flawy的头像Flawy

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部