最新回答 / foolifish
写之前. 当然如果次次都能读到写之后的东西, 那就完美了. 但是世界是不完美的..A 写东西, 上锁B要读东西, 发现可读B, 那就读吧....xxx 时间后. A写完, 释放锁
2018-11-24
最新回答 / ParaPeng
if (在事务A执行过程中事务B已经commit){ 如果你可以确定 那么是一定可以读出来的 }else if(但是基本是我们不能确定事务A执行过程中事务B是否commit){ if(如果mvcc设置的read commit ){ 你说了 A事务先开始,B事务后执行 因为U锁的原因 两个事件是并行的. 读提交时,读事务每次都读取undo log中最近的版本,因此两次对同一字段的读可能读到不同的数据(不可重复读),但能保证每次都读到最新的数据。 所以可以读出来 ...
2018-01-29
最新回答 / __xiao__
一致性指的是 事务的中间状态没有办法被别的事务读到 比如bob和smith账户余额都为0的时候 原子性指的是事务失败就回滚 成功就一起成功 他两没关系。 bob向smith转账的时候其实有两个跟smith账户有关 一个是查询smith账户的余额 第二个是写入 (余额 + 100)的数值 如果写入300钱的操作在这两个动作之间就会产生不一致性。 但是这是可能发生的 在隔离级别为read-uncommitted的时候 没有提交的时候别的事务就能读到这个中间状态
2017-12-31