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

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

1.表级锁:

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

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

2.页级锁:

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

3.行锁:

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

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

4.注意:

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

相关推荐
哈哈老师啊1 分钟前
Springboot学生选课系统576i3(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
不会写程序的未来程序员3 分钟前
Redis 哨兵(Sentinel)原理
数据库·redis·sentinel
梁萌20 分钟前
MySQL关联查询原理与优化
数据库·mysql
⑩-21 分钟前
Spring 的事务传播行为(Propagation)
java·数据库·spring
綝~22 分钟前
Excel导入MongoDB操作手册
数据库·excel
Baihai_IDP23 分钟前
压缩而不失智:LLM 量化技术深度解析
人工智能·面试·llm
小明的小名叫小明24 分钟前
区块链核心知识点梳理(面试高频考点3)-共识机制详解(POW、POS、POH)
面试·区块链
哈库纳玛塔塔26 分钟前
MongoDB 数据库 ORM/ODM 新工具
java·数据库·spring boot·mongodb·orm
Dev7z1 小时前
基于OpenCV的智能停车场车位识别与数据管理系统-支持MySQL持久化与Redis缓存加速
数据库·redis·缓存
小白量化2 小时前
聚宽策略分享-1年化98国九条后中小板微盘小改
大数据·数据库·人工智能·量化·qmt