事务的隔离级别和传播级别有何区别
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,事务的隔离级别事务的隔离级别源于事务ACID的I(Isolation),即多个事务同时操作同一实体时,其中一个事务的读写操作对其他事务及其自身的可见性影响程度。具体可以分为如下几个等级:读未提交某个事
千家信息网最后更新 2026年10月31日事务的隔离级别和传播级别有何区别
事务的隔离级别
事务的隔离级别源于事务ACID的I(Isolation),即多个事务同时操作同一实体时,其中一个事务的读写操作对其他事务及其自身的可见性影响程度。具体可以分为如下几个等级:
读未提交
某个事务未提交前,其修改的数据对其他事务可见,这种隔离级别最低,除了确保执行事务本身的原子性,对其他事务几乎无隔离,所以如果源事务回滚,其他事务就会出现脏读现象。读已提交
一个事务针对数据的写操作,只有提交之后,其他事务才可见。这是相对靠谱的方案。也是很多数据库的默认隔离级别。读提交也存在两个主要的问题,第一种是,如果两个事务同时开启,其中一个事务第一次读取,和在另一个事务修改并提交后读取到的数据会不一致,也就是不可重复读;第二个问题是,容易引起死锁。可重复读
一个事务针对数据的读操作一旦开始,其他事务不再可以进行写操作,相当于读锁。可重复读增加了数据的安全性,但是针对新增操作,依然存在幻读问题。- 串行化
串行化是安全性最高的一种隔离界别,也是用的最少的一种隔离级别,事务串行化执行,吞吐量严重受限。
事务的传播级别
和事务的隔离级别不同,传播特性是指一个事务开启后,如果在事务内涉及到其他事务的调用,是沿用主事务,还是开启新事务,亦或是,不接受事务。
- REQUIRED 如果存在一个事务,支持当前事务。如果没有则开启一个新的事务。
- SUPPORTS 如果存在一个事务,支持当前事务。如果没有则按照非事务的执行。
- MANDATORY 如果已经存在一个事务,支持当前事务。如果没有则抛出异常。
- REQUIRES_NEW 总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。
- NOT_SUPPORTED 总是按照非事务地执行,并挂起任何存在的事务。
- NEVER 总是按照非事务方式执行,如果存在一个活动事务则抛出异常
- NESTED 如果一个活动的事务存在,则运行在一个嵌套的事务中. 如果没有活动事务, 则按REQUIRED 属性执行。
NESTED传播级别时,如果外层事务不可回滚内存提交的事务。
事务
级别
隔离
数据
传播
问题
支持
活动
安全
两个
同时
安全性
不同
最低
最高
一致
也就是
内存
原子
只有
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云南咖啡
互联网科技产业
科技互联网政务服务
美国互联网科技巨头监管
互联网巨头科技公司
深圳互联网科技公司
杭州互联网科技公司
中国互联网科技发展
上海致骋互联网科技
互联网科技英文翻译
华脉科技工业互联网产品
互联网和高科技公司
崇明区互联网教育科技售后服务
佛山市拉法互联网科技有限公司
区块链结合互联网科技
银行科技岗属于互联网吗
杭州披云加互联网科技有限公司
领航科技大厦互联网公司
中国新注册互联网科技
中国科技和美国互联网
小米移动互联网科技园
互联网科技有限公司图片
互联网科技ppt模板
互联网前沿科技
天速互联网络科技有限公司
湖南诚度互联网科技有限公司
成都互联网科技公司工作好不好
启辰互联网科技
上海万顺科技互联网有限公司招聘
互联网科技企业文化