请你说一下行级锁和表级锁的区别(或表级锁和行级锁的区别)
作者:互联网
本旨在学习记录,内容源自JavaGuide,作者在此基础上进行补充说明、整理论述,使其能以一种更为逻辑地清晰地方式表达出“请你说一下行级锁和表级锁的区别”的理解,更多适应于java面试回答,亦可作对请你说一下自己对行级锁和表级锁的简要了解。
MyISAM 和 InnoDB 存储引擎使用的锁:
- MyISAM 采用表级锁(table-level locking)。
- InnoDB 支持行级锁(row-level locking)和表级锁,默认为行级锁。
表级锁和行级锁对比:
- 表级锁: MySQL 中锁 粒度最大 ,对当前操作的整张表加锁,加锁的开销小,加锁快,不会出现死锁,(因为要么一次性获取全部的锁,要么等待)。其锁定粒度最大,触发锁冲突的概率高,并发度低。
- 行级锁: MySQL 中锁 粒度最小 ,只针对当前操作的行进行加锁,加锁的开销大,加锁慢,会出现死锁。 行级锁能大大减少数据库操作的冲突。其锁粒度最小,触发锁冲突的概率低、并发度高。
标签:行级,加锁,区别,死锁,粒度,MySQL,或表级,表级 来源: https://blog.csdn.net/weixin_51560103/article/details/121060127