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

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

1.表级锁:

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

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

2.页级锁:

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

3.行锁:

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

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

4.注意:

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

相关推荐
晴天¥1 分钟前
Oracle 19c数据库内存管理优化(内存管理方式调整及内存扩容)
数据库·oracle·oracle数据库集群调优
CQU_JIAKE21 分钟前
9.10【A】
数据库
乐观的Terry38 分钟前
Redis生产环境redis-conf配置教程
数据库·redis
SeaTunnel1 小时前
Redis 数据迁移不用写脚本:SeaTunnel 支持 String、Hash、Set、ZSet 四种数据类型
数据库·redis·哈希算法·数据迁移·seatunnel·数据同步
晊晌_h1 小时前
嵌入式从0到精通——SQLite3 数据库
数据库·sqlite·sqlite3
海浪仙人掌1 小时前
账龄分析怎么操作?账龄分析实施流程有哪些步骤?
数据库
楚枫默寒1 小时前
Oracle AWR 自动巡检报告
数据库·oracle
吉甫作诵1 小时前
Oracle 19c 常用运维命令大全
运维·数据库·oracle
宗介波妞1 小时前
主站与场站多业务链路通断测试实战指南(电力自动化联调)
网络·数据库
阳火锅1 小时前
2025,记住这一年!它是古法编程的最后一年。
前端·javascript·面试