version : 4.0.10
请问,为何二阶段会有读写冲突呢? 为何第一步需要去lock 检查锁情况,不直接到write 读取最新数据呢?
version : 4.0.10
请问,为何二阶段会有读写冲突呢? 为何第一步需要去lock 检查锁情况,不直接到write 读取最新数据呢?
不太明白,能解析下吗?
不明白的点是什么点不明白?
解析的话,也是官方文档内容的说明。
key 上有锁说明事务还没有提交,如果读取到了还没有提交的事务,那不就是脏读了么。
读取数据应该是从write列获取小于读start_ts的对应的最新版本吧 。
在事务未到达commit 阶段不是都没写write 列吗? 那么就不会获取到未提交的数据。
是的,我是没理解以下这段话。能帮忙举个简单例子(如果读 write ts< 读start_ts 是幻读 )?