关于锁的粒度问题——面试

锁的粒度划分主要有三种:表级锁、页级锁和行锁

1.表级锁:

对整张表加锁,粒度最大,加锁的并发度最低,会导致其他事务无法访问该表,只有当前事务提交或者回滚后才能释放锁。表级锁适用于对表进行全表操作的场景,如表的重建、初始化等。

mysql5.5之前默认使用MYISAM引擎

2.页级锁:

对数据表中的一页加锁,粒度介于表级锁和行锁之间,可以提高并发度,但是会导致锁冲突的概率增加。页级锁适用于对表中大部分数据进行操作的场景。

3.行锁:

对数据表中的一行加锁,粒度最小,加锁的并发度最高,可以最大程度地支持并发操作。行锁适用于对表中少量数据进行操作的场景。

mysql5.5之前默认使用InnoDB引擎

4.注意:

需要注意的是,锁的粒度越小,并发度越高,但是锁的开销也越大,因此需要根据具体场景选择合适的锁粒度

相关推荐
C雨后彩虹2 分钟前
中文分词模拟器
java·数据结构·算法·华为·面试
a努力。2 分钟前
蚂蚁Java面试被问:流批一体架构的实现和状态管理
java·后端·websocket·spring·面试·职场和发展·架构
静听松涛1334 分钟前
信息系统规划到上线全流程指南
论文阅读·面试·职场和发展·流程图
optimistic_chen24 分钟前
【Redis系列】Redis缓存
linux·数据库·redis·mysql·缓存·火山引擎
程农26 分钟前
java计算机毕业设计婚纱摄影网站(附源码、数据库)
java·数据库·课程设计
川西胖墩墩30 分钟前
网站开发完整流程梳理
大数据·数据库·架构·流程图·敏捷流程
专注API从业者1 小时前
淘宝商品 API 接口架构解析:从请求到详情数据返回的完整链路
java·大数据·开发语言·数据库·架构
学嵌入式的小杨同学1 小时前
【嵌入式 C 语言实战】栈、队列、二叉树核心解析:存储原理 + 应用场景 + 实现思路
linux·c语言·网络·数据结构·数据库·后端·spring
Mr -老鬼1 小时前
MySQL 8+ ibd文件恢复表结构实战:从ibd2sdi解析到数据重建
数据库·mysql
摇滚侠1 小时前
Public Key Retrieval is not allowed 连接 MySQL 提示这个
数据库·mysql