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

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

1.表级锁:

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

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

2.页级锁:

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

3.行锁:

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

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

4.注意:

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

相关推荐
2301_783848652 小时前
优化文本分类中堆叠模型的网格搜索性能:避免训练卡顿的实战指南
jvm·数据库·python
TE-茶叶蛋2 小时前
DBeaver 的Explain 执行计划,分析sql的性能
数据库·sql
CLX05052 小时前
如何安装Oracle 12c Cloud Control_OMS服务端组件与Agent部署
jvm·数据库·python
m0_617493943 小时前
PySide6 网络请求深度实测:从基础 API 调用到数据解析实战指南
数据库
知识汲取者3 小时前
每日一篇高频面试题系列之【MySQL 锁】
数据库·mysql
老纪3 小时前
SQL中如何查找特定的空值行:WHERE IS NULL深度解析
jvm·数据库·python
麦聪聊数据3 小时前
数据 API 平台选型:深度解读数据服务的四大关键技术与架构底座
数据库·sql
IT研究所4 小时前
AI 时代下的知识管理:从 Claude 的“复盘”能力看生成式 AI价值
大数据·运维·数据库·人工智能·科技·低代码·自然语言处理
2301_781571424 小时前
mysql数据库响应缓慢如何排查_使用EXPLAIN分析执行计划
jvm·数据库·python
彳亍1014 小时前
实现倒计时数字在到达1后自动隐藏(2为最后可见数字),同时继续运行至-1再终止
jvm·数据库·python