场景
有两个事务T1,T2去查数据发生的各种问题。
脏读
T1去查数据,T2在更新数据,但是并未提交。T1读到了T2更新的数据,这时候T2因为某种原因回滚了,T1就读到了脏数据。这个是不能忍的。
不可重复读
T1查数据,T2然后更新了这个数据,之后, T1再次读取同一个字段, 值就不同了。其实这个问题我们能接受,例如我们去某宝买东西,我买的时候价格是199,然后瞬间涨价了,变成了399,我读到的如果是399,那就是不可重复读。
幻读
T1查数据,T2突然增加了几行,T1再去查的时候突然增加了几行,像出现幻觉一样,所以叫幻读,这个只能由串行化解决,一致性会很好,但是性能和并发性会极弱。因为T1这个事务在查的时候,不会允许其他事务对表做任何增删改的操作,所有并发的问题都会解决。