面试常考的Mysql知识之锁问题

1. 表锁

当操作数据表,如果你的引擎是myisam,就会锁住整个表。

特点: 锁定粒度大(影响大),锁发生冲突概率大,并发度低,加锁速度快。

2. 行锁

当操作数据表,如果你的引擎是innodb,就会锁住一行,或者多行,甚至整个表

特点: 锁定粒度小(影响大),锁发生冲突概率小,并发度高,加锁速度慢。

3.共享锁(读锁)

读锁发生时机: 进行读操作的时候,如果是myisam引擎,会给整个表加读锁。

如果是innodb引擎,会给一行或多行或多表加读锁。

读锁阻塞写,不阻塞读。

4. 排他锁(写锁)

写锁发生时机: 进行写操作的时候, 会产生一个写锁。 具体影响范围锁住一行还是一个表,得看引擎。

写锁阻塞读,写

相关推荐