diff --git a/ch7.md b/ch7.md index 9885cc2..e9333d5 100644 --- a/ch7.md +++ b/ch7.md @@ -379,7 +379,7 @@ Alice 在银行有 1000 美元的储蓄,分为两个账户,每个 500 美元 到目前为止已经讨论的 **读已提交** 和 **快照隔离** 级别,主要保证了 **只读事务在并发写入时** 可以看到什么。却忽略了两个事务并发写入的问题 —— 我们只讨论了脏写(请参阅 “[没有脏写](#没有脏写)”),一种特定类型的写 - 写冲突是可能出现的。 -并发的写入事务之间还有其他几种有趣的冲突。其中最着名的是 **丢失更新(lost update)** 问题,如 [图 7-1](img/fig7-1.png) 所示,以两个并发计数器增量为例。 +并发的写入事务之间还有其他几种有趣的冲突。其中最著名的是 **丢失更新(lost update)** 问题,如 [图 7-1](img/fig7-1.png) 所示,以两个并发计数器增量为例。 如果应用从数据库中读取一些值,修改它并写回修改的值(读取 - 修改 - 写入序列),则可能会发生丢失更新的问题。如果两个事务同时执行,则其中一个的修改可能会丢失,因为第二个写入的内容并没有包括第一个事务的修改(有时会说后面写入 **狠揍(clobber)** 了前面的写入)这种模式发生在各种不同的情况下: