MYSQL中的锁必知必会

Mysql中的三种锁:

行级锁 表级锁 页面锁


首先来看Mysql中四大存储引擎的锁机制

MYISAMMemory只采用了一种锁那就是表级锁

BDB存储引擎支持表级锁和页级锁,默认是页级锁

InnoDB存储引擎支持表级锁和行级锁,默认是行级锁

速记:四大引擎都支持表级锁,有两个只有一种锁,剩下的都有两种锁且组合不相同,且默认的都不是表级锁,记住InnoDB默认是行级锁,自然而然剩下的BDB就能快速背出是行级锁。


下面详细来说这三大锁机制。

行级锁:

行级锁是 MySQL 中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁分为共享锁和排他锁。

特点:加锁开销大,会出现死锁,锁定粒度最小,发生锁冲突的概率最低,并发度最高。

页级锁:

页级锁是 MySQL 中锁定粒度介于行级锁和表级锁中间的一种锁。采取了折衷的页级锁,一次锁定相邻的一组记录。BDB 支持页级锁。

特点:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。

表级锁:

表级锁是 MySQL 中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分 MySQL 引擎支持。表级锁定分为表共享读锁(共享锁)与表独占写锁(排他锁)。

开销小,加锁快;不会出现死锁;锁定粒度大,发出锁冲突的概率最高,并发度最低。

相关问题,来源网络:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值