MYSQL的锁

本文详细介绍了数据库中的锁类型,包括表级锁和行级锁。表级锁分为共享读锁和独占写锁,而行级锁则进一步细分为行锁、间隙锁和行间隙锁,用于提高并发性能。在InnoDB存储引擎中,行级锁得到广泛应用。此外,还提及了乐观锁和悲观锁的概念。
摘要由CSDN通过智能技术生成

锁的分类

在这里插入图片描述

select .... for update -- 会使用行级锁

表级锁

锁的是一张表,锁的颗粒度最大,发生锁冲突的概率最大,不会发生死锁,并发度底
表级锁有两种
一种是表锁
一种是元素锁

*表锁有两种表现形式

表共享读锁
表独占写锁
在这里插入图片描述

元数据锁 MDL 元数据

当对一个表做增删改差操作的时候,加MDL读锁;
当要对表做结构变更操作的时候加MDL写锁;
在这里插入图片描述

行级锁

每次锁的是一行数据,锁定的粒度最小,发生锁冲突的概率最低,并发度最高。可能会发生死锁
应用在InnoDB的存储引擎中
行锁: 锁定的是某一行的记录锁。RC、RR隔离级别都支持
间歇锁 :锁定索引记录间隙锁,确保索引记录的间隙不变 RR隔离级别支持 防止做insert
行间隙锁:行锁和间隙锁的组合,同时锁住数据,并且锁住数据前面的Gap。RR隔离级别支持
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MYSQL的乐观锁和悲观锁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值