四种事务的区分

1、原子性Atomicity,在事务中,所有的操作,要么全部成功,要么全部失败回滚,不对数据库造成任何影响。

防止脏读(在一个事务还没有提交的时候,另一个事务进行读取的话,有可能会造成脏读)

2、一致性Consistency,在事务中,不管如何操作,最后的数据不能有不一致的地方。总和前后要一致。

防止不可重复读(一个事务在读取第一次数据之后,另一个线程开启事务,并作了更改,第一个事务再次读取就会出现不一致,就会造成第一个事务前后的数据不同)

3、隔离性Isolation,只要一个事务开启了,另外一个事务就必须等待这个事务结束之后才能够执行。

防止幻影读(第一个事务读取了数据之后,第二个线程开启了新的事务,并且更改了数据,第一个事务再更改数据之后提交,就会发现第二个线程已经有一个已经更改的数据,会造成第一个线程再提交的话会有问题)

4、持久性Durability,只要事务一经提交,就直接改动了数据库,这次操作永久生效,不会出现数据没有改变的现象。

所以就衔生出了四种隔离级别,即:

  ① Serializable (串行化):可避免脏读、不可重复读、幻读的发生。

  ② Repeatable read (可重复读):可避免脏读、不可重复读的发生。

  ③ Read committed (读已提交):可避免脏读的发生。

  ④ Read uncommitted (读未提交):最低级别,任何情况都无法保证。


猜你喜欢

转载自blog.csdn.net/YHyanghaoaixin/article/details/79759777