重新学习事务,看到这部分有点迷糊,网上的资料又比较乱,不知道谁说得靠谱
一开始看了《数据密集型应用系统设计》这本书
里面说
防止丢失更新 到目前为止已经讨论的读已提交和快照隔离级别,主要保证了只读事务在并发写入时可以看到什么。却忽略了两个事务并发写入的问题——我们只讨论了脏写,一种特定类型的写-写冲突是可能出现的。 并发的写入事务之间还有其他几种有趣的冲突。其中最着名的是丢失更新( lost update ) 问题,如图 7-1 所示,以两个并发计数器增量为例。
这里我不太理解,读写都能在读已提交的隔离级别下解决,为什么写写还会产生冲突呢?读已提交是说只能读取一个已提交的数据,难道写不需要先读吗?读已提交下写可以覆盖一个未提交的数据?