MySQL中的锁和并发控制

2019-10-01  本文已影响0人  阿臻同学

综述

对MySQL中并发控制所用到的机制和锁进行整理。


行锁 Record Locks

顾名思义,是针对数据中已经存在的数据行上的锁。

表锁 Table Locks

对整张数据表上的锁。

间隙锁 Gap Locks

主要用于封锁索引记录间的间隔。

  1. 对不存在的记录加锁
  2. 范围查询

临键锁 Next-key Locks

就是行锁间隙锁的组合。

多版本并发控制 MVCC

每个事务的读取操作所读取到的都是数据在某个时刻的快照。

悲观锁

每次操作都假设为最坏的情况:其他事务会对本事务用到的数据进行操作。所以在事务开始时就直接对数据上锁。

乐观锁

每次操作都假设其他事务不会使用本事务的数据,所以只有在进行写操作的时候,才上锁。

上一篇 下一篇

猜你喜欢

热点阅读