2023-03-02 mysql-innodb-快照读与当前读-分析
摘要:
分析select在可重复读(RR)隔离级别下的快照读与当前读。
默认隔离级别:
SELECT @@GLOBAL.transaction_isolation, @@transaction_isolation;
mysql> SELECT @@GLOBAL.transaction_isolation, @@transaction_isolation;
+--------------------------------+-------------------------+
| @@GLOBAL.transaction_isolation | @@transaction_isolation |
+--------------------------------+-------------------------+
| REPEATABLE-READ | REPEATABLE-READ |
+--------------------------------+-------------------------+
1 row in set (0.00 sec)
快照读与当前读:
快照读:
快照读(SnapShot Read)是一种一致性不加锁的读,是 InnoDB 存储引擎并发如此之高的核心原因之一。
在可重复读的隔离级别下,事务启动的时候,就会针对当前库拍一个照片(快照),快照读读取到的数据要么就是拍照时的数