MySQL 从锁的粒度划分为哪几种锁?
锁类型
- 行锁 行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。
- 表锁 表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持
- 页锁 页级锁是MySQL中锁定粒度介于行级锁和表级锁中间的一种锁
锁的特点
- 表级锁
- 开销小
- 加锁快
- 不会出现死锁
- 锁定粒度大
- 发生锁冲突的概率最高
- 并发量最低。
- 行级锁
- 开销大
- 加锁慢
- 会出现死锁
- 锁粒度小
- 发生锁冲突的概率小
- 并发度最高。
- 页锁
- 开销界于表锁和行锁之间
- 会出现死锁
- 锁定粒度界于表锁和行锁之间
- 并发度一般
- 表级锁
引擎支持
MyISAM 支持表锁
InnoDB
- 支持表锁
- 行锁
默认为行锁。