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

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

1.表级锁:

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

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

2.页级锁:

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

3.行锁:

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

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

4.注意:

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

相关推荐
麦聪聊数据1 分钟前
生成测试数据(三):从建表到 CRUD 的冷启动
数据库·sql
CCPC不拿奖不改名2 分钟前
面向对象编程:继承与多态+面试习题
开发语言·数据结构·python·学习·面试·职场和发展
Awkwardx4 分钟前
MySQL数据库—MySQL复合查询
数据库·mysql
2301_800256115 分钟前
R-Tree创建与遍历,R-Tree在4类空间查询中的应用,实现4类空间查询的各类算法[第8章]
数据库·算法·机器学习·postgresql·r-tree
十月南城5 分钟前
分布式ID选型——雪花、号段、数据库自增与时钟回拨的风险控制
数据库·分布式
老邓计算机毕设5 分钟前
SSM校园快递代取平台32618(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·校园快递代取平台
论迹10 分钟前
【Redis】-- 单线程模型
数据库·redis·缓存
悦数图数据库11 分钟前
BOSS 直聘基于悦数图数据库构建智能根因定位平台的实践
数据库·人工智能
IT大白13 分钟前
5、Kafka面试相关问题
分布式·面试·kafka
亮子AI16 分钟前
【Node.js】为什么数据库连接总是中断?
数据库·node.js