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

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

1.表级锁:

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

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

2.页级锁:

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

3.行锁:

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

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

4.注意:

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

相关推荐
iceland912 分钟前
mysql 8递归查询
数据库·mysql
Hx__3 小时前
Redis对象编码
数据库·redis·缓存
运维帮手大橙子4 小时前
完整的登陆学生管理系统(配置数据库)
java·前端·数据库·eclipse·intellij-idea
0wioiw04 小时前
Redis(④-消息队列削峰)
数据库·redis·缓存
Runing_WoNiu5 小时前
Mysql与Ooracle 索引失效场景对比
数据库·mysql·oracle
beijingliushao5 小时前
32-Hive SQL DML语法之查询数据
数据库·hive·sql
JIngJaneIL5 小时前
专利服务系统平台|个人专利服务系统|基于java和小程序的专利服务系统设计与实现(源码+数据库+文档)
java·数据库·小程序·论文·毕设·专利服务系统平台
__风__6 小时前
windows 上编译PostgreSQL
数据库·postgresql
木木子99996 小时前
数据库范式
数据库
涛思数据(TDengine)6 小时前
通过最严时序标准,再登产业图谱榜首,TDengine 时序数据库在可信数据库大会荣获双荣誉
大数据·数据库·时序数据库·tdengine·涛思数据