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

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

1.表级锁:

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

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

2.页级锁:

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

3.行锁:

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

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

4.注意:

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

相关推荐
XLYcmy25 分钟前
智能体大赛 核心功能 可信文献检索与系统性知识梳理
数据库·ai·llm·prompt·知识图谱·agent·检索
逻辑君33 分钟前
如何在PostgreSQL里删除和增加数据库
数据库·postgresql
ShineWinsu1 小时前
对于模拟实现C++list类的详细解析—上
开发语言·数据结构·c++·算法·面试·stl·list
XP62261 小时前
MySQL 数据库连接数查询、配置
数据库·mysql
砚边数影1 小时前
智慧校园后端演进:如何处理每日亿级传感器数据的“存、压、查”?
java·数据库·时序数据库·kingbase·数据库平替用金仓·金仓数据库
KG_LLM图谱增强大模型2 小时前
SCHEMA-MINERpro:基于智能体AI的本体映射框架——在人机协作工作流中通过大模型发现科学新模式
数据库·人工智能
zsyf19872 小时前
MySQL如何执行.sql 文件:详细教学指南
数据库·mysql
程序员敲代码吗2 小时前
提升Redis性能的关键:深入探讨主从复制
数据库·redis·github
程序员酥皮蛋2 小时前
Redis 零基础入门本地实现数据增删
数据库·redis·缓存
马猴烧酒.2 小时前
【面试八股|RabbitMQ】RabbitMQ常见面试题详解笔记
笔记·面试·rabbitmq