首页 > 其他分享 >事务的隔离级别及脏读,不可重复读,幻读等问题

事务的隔离级别及脏读,不可重复读,幻读等问题

时间:2024-01-26 09:04:17浏览次数:27  
标签:隔离 幻读 及脏读 修改 脏读 提交 数据 读取


事务隔离级别以及对应的问题如上所示。
读未提交:在修改数据时在没有提交时就修改了数据库,如果修改回滚则又修改为原值,这样的话在修改与回滚之间读取的数据就是不准确的,会产生脏读现象。
脏读现象是读取到未修改的数据,即是数据逻辑上不存在的数据(因为回滚未提交),而下面产生的问题均来源操作了修改删除或添加的数据(已提交),操作的是存在的数据,所以相对于其他其他问题,避免脏读格外重要。
读已提交:在提交之前不会修改数据库,解决脏读问题,这是Oracle数据库默认使用的隔离级别,但是在一个事务的两次查询中可能会在两次查询中间修改或者删除数据,导致两次读取不一致,产生不可重复读的问题。
可重复读:MySql提供了一种乐观锁的实现:MVCC(多版本并发控制),来解决读-写并发不加锁,通过MVCC + Next-Key Lock(临键锁)解决了部分幻读,实现了事务的隔离级别Repeatable Read(可重复读)。至于为什么没有完全解决;请参考[https://blog.csdn.net/m0_71777195/article/details/126968432](美团三面:一直追问我, MySQL 幻读被彻底解决了吗?)
幻读即是读取到上一次未读取到的数据,即是新添加的数据,在两次读取中间插入一条新的数据就会产生幻读。
串行化:同一时间只能存在同一个操作,解决所有并行问题

标签:隔离,幻读,及脏读,修改,脏读,提交,数据,读取
From: https://www.cnblogs.com/swliujavajourney/p/17988546

相关文章

  • STM32F105双路隔离型CAN总线转4G控制板 - 二次开发环境搭建和程序下载测试
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/product/STM32F105_2CAN/index.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>......
  • Docker 与 Linux Cgroups:资源隔离的魔法之旅
    这篇文章主要介绍了Docker如何利用Linux的ControlGroups(cgroups)实现容器的资源隔离和管理。最后通过简单Demo演示了如何使用Go和cgroups交互。如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关注微信公众号。搜索公众号【探索云原生】即可订阅......
  • MVCC多版本并发控制和幻读问题的解决
    首先我们先介绍一下锁的分类,再进入今天的正题。一、锁分类:1.从性能上分:乐观锁、悲观锁。乐观锁(用版本号对比或CAS机制)适用于读比较多的场景,悲观锁适用于写比较多的场景。如果在写比较多的场景使用乐观锁,会导致对比次数过多,影响性能。2.从对数据的粒度上分:表锁、页锁、行锁......
  • 生物 生殖隔离
    生殖隔离是指由于各方面的原因,使亲缘关系接近的类群之间在自然条件下不交配,即使能交配也不能产生后代或不能产生可育性后代的隔离机制,便称为生殖隔离。若隔离发生在受精以前,就称为受精前的生殖隔离,其中包括地理隔离、生态隔离、季节隔离、生理隔离、形态隔离和行为隔离等;若隔离......
  • 探索MySQL隔离级别
    深入理解与实战示例数据库事务的隔离级别是一个重要的概念,它定义了一个事务可能受其他并发事务影响的程度。MySQL提供了四种标准的隔离级别,每个级别都以不同的方式平衡了一致性和性能。本文将详细介绍这些隔离级别,并提供相应的示例。1.读未提交(ReadUncommitted)概念:这是最低......
  • MySQL事务与隔离
    事务假设你想给张三转账500块钱,这时需要扣除你卡上的账户余额,并同时给张三卡上增加500块钱。如果转账的两个操作中的一个失败,那你就可能损失金钱或者让金钱消失不见,张三也就收不到钱了。这时,事务就派上用场了。它可以保证这两个操作要么同时成功,要么同时失败,绝不会出现一半成功一半......
  • AP隔离的设备互相访问
    本校校园网开启了AP隔离,同一个网段,不同楼栋的设备无法互相访问,但是他们都可以访问相同的网关。所以通过设置路由规则让他们可以互相访问。首先查看路由表:~$iproutedefaultvia172.23.128.1deveno1protodhcpmetric100172.23.128.0/17deveno1protokernelscopelin......
  • 20 mysql 隔离性的底层原理
    隔离性的原理:1.0隔离性是通过锁机制实现的。当一个事务修改数据时,需要先获取锁。其它事务要修改数据,必须等待之前的事务提交或者回滚,然后释放锁操作之后。myisam只支持表锁,innodb支持表锁和行锁。因为表锁比较影响性能,所以通常情况下,使用行锁就可以了。2.0隔离性的另外一个方面,就是......
  • 做了网络隔离后,如何建立高效安全的数据安全交换通道?
    数据安全对企业生存发展有着举足轻重的影响,数据资产的外泄、破坏都会导致企业无可挽回的经济损失和核心竞争力缺失。数据流动才能让其释放价值,想要保护企业核心资产,就要实现数据安全交换。很多企业为了防止知识产权、商业机密数据泄露,通常会将自身网络进行安全性隔离。在内部实......
  • Hadoop YARN Cgroups 资源隔离讲解
    目录一、概述二、Hadoop环境准备三、内存资源限制四、CPU资源限制1)启用LCE2)启用CGroup3)配置YarnCGroup目录3)CPU资源限制一、概述HadoopYARN(YetAnotherResourceNegotiator)使用Cgroups(ControlGroups)来进行资源管理和隔离。Cgroups是Linux内核提供的一种机制,......