发布时间:2025-03-04 14:44:31
MySQL的RR模式下,快照读按照第一次select创建的readview读取快照数据,这是表级的,整个表所有行的快照都是在这个时间点。
快照读又叫一致性读(consistent read),unlock read,不加锁(元数据锁还是有的,行锁没有,就是普通SELECT)。
DML包括FOR UPDATE,FOR SHARED是当前读,会读取最新快照的数据,这类似幻读了。
普通SELECT在RR隔离级别下都是可重复读,快照读,除非混合了UPDATE,那么之后的SELECT会读取到本事务修改的数据,像普通的FOR UPDATE,FOR SHARE,
他们会读取到最新提交的数据,但是不影响后续的普通SELECT还是快照读,还是看不到新提交的数据。
......【阅读全文】