数据库的隔离级别

A、B代表两个线程

1、读未提交

A:开启事务,初始化

B:开启事务,初始化并修改数据

A:读取数据,此事为A已修改的数据

B:回滚事务

A:发生脏读

2、读已提交(大多数数据库采用的该策略)

A:开启事务,初始化

B:开启事务,初始化并修改数据

A:读取数据,此时为B未修改的数据

B:提交事务

A:读取数据,此时为B已经修改的数据(发生不可重复度的问题,即同一事务,读取到不同的数据)

3、可重复度

A:开启事务,初始化

B:开启事务,初始化并修改数据

A:读取数据,是B未修改的数据

B:提交事务

A:读取数据,还是B未修改的数据

B:再次修改数据

A:读取数据,还是未修改的数据(发生幻读现象)

A:提交事务,再次读取数据,是最新的数据

4、可串行化

A:开启事务,初始化

B:只能进入等待状态

A:提交事务

B:开启事务,处理数据(效率低下)

事务的四个特征:原子性、一致性、隔离性、持续性

原文地址:https://www.cnblogs.com/wscw/p/14042524.html