探讨 MySQL 的锁
上篇博客说了 MVCC
解决了 MySQL 在可重复的隔离情况下幻读的问题,这篇博客主要探讨下,在修改的时候,如何解决幻读的问题。
MySQL 在控制并发的时候,同样采用了锁的机制。从读写上面分,有读写和写锁
,从结构上分,有行锁和表锁
.行锁又分为行锁、间隙锁和 Next Key
读锁和写锁
读锁 :共享锁 ,S 锁
写锁:排它锁 ,X 锁
select :不加锁,加锁后,也可以使用 select
查询数据
怎么加锁
select ...lock in share mode
加读锁
select ...for updare ,update、 delete
都是加写锁
其中,读读共享, 读写互斥 写写互斥