事务的隔离级别和传播级别有何区别
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,事务的隔离级别事务的隔离级别源于事务ACID的I(Isolation),即多个事务同时操作同一实体时,其中一个事务的读写操作对其他事务及其自身的可见性影响程度。具体可以分为如下几个等级:读未提交某个事
千家信息网最后更新 2025年02月23日事务的隔离级别和传播级别有何区别
事务的隔离级别
事务的隔离级别源于事务ACID的I(Isolation),即多个事务同时操作同一实体时,其中一个事务的读写操作对其他事务及其自身的可见性影响程度。具体可以分为如下几个等级:
读未提交
某个事务未提交前,其修改的数据对其他事务可见,这种隔离级别最低,除了确保执行事务本身的原子性,对其他事务几乎无隔离,所以如果源事务回滚,其他事务就会出现脏读现象。读已提交
一个事务针对数据的写操作,只有提交之后,其他事务才可见。这是相对靠谱的方案。也是很多数据库的默认隔离级别。读提交也存在两个主要的问题,第一种是,如果两个事务同时开启,其中一个事务第一次读取,和在另一个事务修改并提交后读取到的数据会不一致,也就是不可重复读;第二个问题是,容易引起死锁。可重复读
一个事务针对数据的读操作一旦开始,其他事务不再可以进行写操作,相当于读锁。可重复读增加了数据的安全性,但是针对新增操作,依然存在幻读问题。- 串行化
串行化是安全性最高的一种隔离界别,也是用的最少的一种隔离级别,事务串行化执行,吞吐量严重受限。
事务的传播级别
和事务的隔离级别不同,传播特性是指一个事务开启后,如果在事务内涉及到其他事务的调用,是沿用主事务,还是开启新事务,亦或是,不接受事务。
- REQUIRED 如果存在一个事务,支持当前事务。如果没有则开启一个新的事务。
- SUPPORTS 如果存在一个事务,支持当前事务。如果没有则按照非事务的执行。
- MANDATORY 如果已经存在一个事务,支持当前事务。如果没有则抛出异常。
- REQUIRES_NEW 总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。
- NOT_SUPPORTED 总是按照非事务地执行,并挂起任何存在的事务。
- NEVER 总是按照非事务方式执行,如果存在一个活动事务则抛出异常
- NESTED 如果一个活动的事务存在,则运行在一个嵌套的事务中. 如果没有活动事务, 则按REQUIRED 属性执行。
NESTED传播级别时,如果外层事务不可回滚内存提交的事务。
事务
级别
隔离
数据
传播
问题
支持
活动
安全
两个
同时
安全性
不同
最低
最高
一致
也就是
内存
原子
只有
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
吾君互联网科技集团
全国牌具软件开发总部
苏州运营网络技术优势
数据库音频文件
国企软件开发需要学位证
在电脑上如何查看sql数据库
数据库创建登录用户代码怎么操作
网络安全未来看好吗
数据链软件开发价格走势
巫师三服务器
创建数据库的结构化查询语句
公司里面关于软件开发的负责人
数据库保存html
江西有哪些棋牌软件开发公司
重庆网络技术分类咨询报价
数据网络安全传输管理规定
小学网络安全主题班会内容摘要
网络安全文明上网的漫画
网络安全大赛中国队成员
打好网络安全宣传
觅糖互联网科技有限公司
中塑网络技术论坛
北京安全服务器虚拟化哪家好
北京大型软件开发诚信经营
网络安全靠人民幼儿园方案
hudi 关系型数据库
xp系统时间连接新的服务器
河北特种网络技术服务设计
惠山区管理软件开发报价方案
鬼魂连接不上服务器