数据库的隔离级别

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:开启事务,处理数据(效率低下)

 

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

posted @ 2020-11-26 15:24  曹伟666  阅读(84)  评论(0编辑  收藏  举报