阅读 154

事务的隔离机制与传播+mvcc

一:事务特性:原子、隔离、持久、一致

二:事务隔离级别共四种,隔离的程度由低至高就是:

1)READ-UNCOMMITTED(读取未提交内容)级别

还没提交就可读,可能结果回滚,脏读

 

2)READ-COMMITTED(读取提交内容)级别

提交了后,读取的内容不一致,不可重复读

 

3)REPEATABLE-READ(可重读)级别

读完了,又加了一条,幻读,偏重于增删

 

4)SERIERLIZED(串行化) 。

三:2和3都是使用mvcc的机制,使用版本号控制,对于select不同,2是生成很多版本号,3是对于读只有一个版本号

 

事务传播行为类型

说明

PROPAGATION_REQUIRED

如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。

PROPAGATION_SUPPORTS

支持当前事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY

使用当前的事务,如果当前没有事务,就抛出异常。

PROPAGATION_REQUIRES_NEW

新建事务,如果当前存在事务,把当前事务挂起。

PROPAGATION_NOT_SUPPORTED

以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

PROPAGATION_NEVER

以非事务方式执行,如果当前存在事务,则抛出异常。

PROPAGATION_NESTED

如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

原文:https://www.cnblogs.com/vv-lilu/p/15150100.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐