READ UNCOMMITED “未提交的读取”
事务中的修改即使没有提交,对其他事务也是可见的
----->导致其他事务能够读取该事务修改的数据的中间状态--->脏读。
READ COMMITED “提交的读取”
事务必须提交之后,数据才能被其他事务可见
---->使用快照读的时候,事物A在读取数据过程中,数据遭到了其他事务的UPDATE,事务A再次读取该数据的快照时会发生不可重复读。
---->使用快照读的时候,事物A在读取数据过程中,数据遭到了其他事务的INSERT或者DELETE,事务A再次读取该数据的快照时会发生幻读。
REPEATABLE READ “可重复读”
针对不可重复读的问题。
事务A在读取数据过程中,禁止其他事务对数据进行UPDATE。(没有对INSERT和DELETE进行限制)
依然存在幻读的问题。
SERIALIZABLE “可串行化”
事务串行化顺序执行,隔离级别最高,性能较差。
能够避免四种并发一致性问题