Update ch7.md 可串行化快照隔离检测一个事务何时修改另一个事务的读取

图文不符。
This commit is contained in:
wbbwbbw 2025-09-17 18:10:09 +08:00 committed by GitHub
parent 964f9c9303
commit 1b1ace30b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -801,7 +801,7 @@ WHERE room_id = 123 AND
当事务写入数据库时,它必须在索引中查找最近曾读取受影响数据的其他事务。这个过程类似于在受影响的键范围上获取写锁,但锁并不会阻塞事务直到其他读事务完成,而是像警戒线一样只是简单通知其他事务:你们读过的数据可能不是最新的啦。
在 [图 7-11](/v1/ddia_0711.png) 中,事务 43 通知事务 42 其先前读已过时,反之亦然。事务 42 首先提交并成功,尽管事务 43 的写影响了 42 ,但因为事务 43 尚未提交,所以写入尚未生效。然而当事务 43 想要提交时,来自事务 42 的冲突写入已经被提交,所以事务 43 必须中止。
在 [图 7-11](/v1/ddia_0711.png) 中,事务 42 通知事务 43 其先前读已过时,反之亦然。事务 42 首先提交并成功,尽管事务 43 的写影响了 42 ,但因为事务 43 尚未提交,所以写入尚未生效。然而当事务 43 想要提交时,来自事务 42 的冲突写入已经被提交,所以事务 43 必须中止。
#### 可串行化快照隔离的性能