MySQL锁机制

看上图就知道 MySQL 锁可以按使用方式分为:乐观锁与悲观锁。按粒度分可以分为表级锁,
行级锁,页级锁。

1、表锁

 从锁的粒度,我们可以分成两大类:
表锁: 开销小,加锁快;不会出现死锁;锁定力度大,发生锁冲突概率高,并发度最低。
行锁: 开销大,加锁慢;会出现死锁;锁定粒度小,发生锁冲突的概率低,并发度高 不同
的存储引擎支持的锁粒度是不一样的。
InnoDB 行锁和表锁都支持、MyISAM 只支持表锁!
InnoDB 只有通过索引条件检索数据才使用行级锁,否则,InnoDB 使用表锁也就是说,
InnoDB 的行锁是基于索引的!
表锁下又分为两种模式:  表读锁(Table Read Lock)&&  表写锁(Table Write Lock)
从下图可以清晰看到,在表读锁和表写锁的环境下: 读读不阻塞,读写阻塞,写写阻塞!
读读不阻塞: 当前用户在读数据,其他的用户也在读数据,不会加锁
读写阻塞: 当前用户在读数据,其他的用户不能修改当前用户读的数据,会加锁!
写写阻塞 : 当前用户在修改数据,其他的用户不能修改当前用户正在修改的数据,会加锁!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

断水流佳

您的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值