未提交读:事务还没来得及提交修改或者还没来得及回滚的数据,别的数据就读取了改部分数据,造成了 脏读的可能性。
提交读:解决了脏读的可能性,但是一个事务中两次相同的查询可能会出现不同的结果,因为第二次读取的时候其他事务也许提交事务,造成了不可能重复读的可能性。
可重复读:解决了上述两种问题,但是当一个事务读取某个范围之间的数据时,另外一个事务往这个范围插入对应的数据,之前的事务再次读取此范围的数据就会产生幻行,就是所谓的幻读,通过多版本并发控制(MVCC/快照)解决了幻读的问题。
可串行化:强制事务串行执行,给每行数据都加了锁,并发程度低,增加了大量开销。