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

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

1.表级锁:

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

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

2.页级锁:

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

3.行锁:

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

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

4.注意:

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

相关推荐
达瓦里氏12320 小时前
重排反应是什么?从分子变化到四大关键特征解析
数据库·学习·化学
电话交换机IPPBX-3CX20 小时前
Grafana图表与电话交换机的结合
数据库·mysql·grafana·ip pbx·电话交换机
IT 小阿姨(数据库)20 小时前
PostgreSQL REST API 介绍
运维·数据库·sql·postgresql·centos
.YYY20 小时前
MySQL--DQL(1)
数据库·mysql
盖世英雄酱5813620 小时前
分库分表正在被淘汰
数据库·后端
编程岁月21 小时前
java面试-0203-java集合并发修改异常、快速/安全失败原理、解决方法?
java·开发语言·面试
ClouGence21 小时前
轻量安全、开箱即用:0 成本开启数据实时同步
数据库·saas
junnhwan21 小时前
【苍穹外卖笔记】Day05--Redis入门与店铺营业状态设置
java·数据库·redis·笔记·后端·苍穹外卖
hzk的学习笔记21 小时前
Redis除了做缓存还能用来干什么
数据库·redis·缓存
渣哥21 小时前
你以为只是名字不同?Spring 三大注解的真正差别曝光
javascript·后端·面试