MySQL锁

锁:计算机协调多个进程或线程并发访问某一资源的机制。

MySQL锁分类:
(1)全局锁:锁定数据库中的所有表。DML、DDL语句,以及更新操作的事务提交语句都将被阻塞,典型应用场景是全库的逻辑备份。

(2)表级锁:每次操作锁住整张表。锁定力度大,发生锁冲突概率最高,并发度最低。表锁又分为以下三类:

a.表锁:表共享读锁和表独占写锁

b.元数据锁:系统自动控制,访问一张表时自动加上,在表上有活动事务时,不可以对元数据进行写入操作,即不能够修改这张表的结构。

c.意向锁:没有意向锁,在加表锁时,需要检查每行是否加锁,没有才可以加表锁。在加行锁时同时给表加上意向锁,这样另一个客户端在加表锁就无需检查每行是否有行锁。

(3)行级锁:每次操作锁住对应的行数据。锁定粒度最小,发生锁冲突概率最低,并发度最高。行锁又分为以下三类:

a.行锁:锁定单个记录,放置其他事务对此行进行update或delete,在RC、RR隔离级别下都支持。

b.间隙锁:锁定索引记录间隙,放置其他事务insert,产生幻读,在RR隔离级别下都支持。

c.临建锁:行锁和间隙锁的组合,在RR隔离级别下支持。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值