MySQL中的锁

根据锁的粒度可以分为全局锁、表级锁、行级锁

根据锁的性质可以分为共享读锁、独占写锁

根据锁的思想可以划分为乐观锁、悲观锁

全局锁

全局锁就是锁住数据库中的所有表。

表级锁

每次操作锁住整张表,表级锁又分为表锁、元数据锁、意向锁。

表锁

表共享读锁

在这里插入图片描述

表独占写锁

在这里插入图片描述

元数据锁

主要是为了防止DDL和DML冲突,隐式加锁。

意向锁

避免了加表锁的时候一行一行查看行锁的数据(相当于加了一个标志),隐式加锁。

行级锁

行级锁又分为行锁、间隙锁、临建锁

行锁

操作时锁定一行数据,RC和RR下都支持。

行共享读锁

在这里插入图片描述

行独占写锁

在这里插入图片描述

间隙锁

是为了防止幻读,在RR级别才会有。

临键锁

为了防止幻读,在 RR级别才会有。是间隙锁和记录锁结合。

乐观锁和悲观锁

乐观锁

乐观锁顾名思义就是很乐观,他查询数据的时候,都会认为其他事务不会修改数据,因此就不会对查询的数据加锁,只有在返回的时候,才会判断是否冲突。

悲观锁

悲观锁顾名思义就是悲观,每一次查询数据的时候,都会认为其他事务会修改数据,就会对查询的数据进行加锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值