快照读
所谓快照读,就是读取的是快照数据,即快照生成的那一刻的数据,像我们
常用的普通的SELECT语句在不加锁情况下就是快照读。
SELECT * FROM xx_table WHERE ...
当前读
和快照读相对应的另外一个概念叫做当前读,当前读就是读取最新数据,所以,加锁的 SELECT,或者对数据进行增删改都会进行当前读,比如:
SELECT * FROM xx_table LOCK IN SHARE MODE;
SELECT * FROM xx_table FOR UPDATE;
INSERT INTO xx_table ...
DELETE FROM xx_table ...
UPDATE xx_table ...
在MySQL 中,只有
在 RR 中,快照会在事务中第一次SELECT语句执行时生成
在 RC 中,每次读取都会重新生成一个快照