首页 > 其他分享 >什么是幻读,脏读,不可重复读?事务的各个隔离级别都是如何实现的?

什么是幻读,脏读,不可重复读?事务的各个隔离级别都是如何实现的?

时间:2023-10-25 15:32:59浏览次数:36  
标签:事务 加锁 隔离 幻读 脏读 提交 ReadView 读取

一、什么是幻读,脏读,不可重复读?

事务A、B交替执行,事务A读取到事务B未提交的数据,这就是脏读。

在一个事务范围内,两个相同的查询,读取同一条记录,却返回了不同的数据,这就是不可重复读。

事务A查询一个范围的结果集,另一个并发事务B往这个范围中插入/删除了数据,并悄悄提交,之后事务A再次查询相同范围,两次读取到的结果集不一样,这就是幻读。

不同的隔离级别,在并发事务下可能会发生的问题:

什么是幻读,脏读,不可重复读?事务的各个隔离级别都是如何实现的?_数据

二、事务的各个隔离级别都是如何实现的?

2.1读未提交

采取的是读不加锁的原理。

事务读不加锁,不阻塞其他事务的读和写;

事务写阻塞其他事务写,但不阻塞其他事务读。

2.2 读取已提交&可重复读

读取已提交和可重复读级别利用了ReadView和MVCC,也就是每个事务只能读取它能看到的版本(ReadView)。

READ COMMITTED:每次读取数据前都生成一个ReadView

REPEATABLE READ : 在第一次读取数据时生成一个ReadView

2.3 串行化

串行化的实现采用的是读写都加锁的原理。

串行化的情况下,对于同一行事务,写会加写锁,读会加读锁。

当出现读写锁冲突的时候,后访问的事务必须等待前一个事务执行完成才能继续执行。

标签:事务,加锁,隔离,幻读,脏读,提交,ReadView,读取
From: https://blog.51cto.com/u_16255459/8018800

相关文章

  • MySQL 事务的四大特性;ACID靠什么保证的?事务的隔离级别有哪些?MySQL 的默认隔离级别是什
    一、MySQL事务的四大特性原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。一致性(Consistency):指在事务开始之前和事务结束以后,数据不会被破坏,假如A账户给B账户转10块钱,不管成功与否,A和B的总金额是不变的。隔离性(Isolation):......
  • sqlserver 事务隔离级别与脏读、不一致读、幻读
    sqlserver查询窗口的默认事务隔离级别为:readcommitted,可以通过下面SQL语句查看:SELECTCASEtransaction_isolation_levelWHEN0THEN'Unspecified'WHEN1THEN'ReadUncommitted'WHEN2THEN'ReadCommitted'......
  • Mysql隔离事务
    1.四大隔离事务 类型一:RU(READ-UNCOMMITTED表示读未提交)可以读取到事务未提交的数据,隔离性差,会出现脏读(当前内存读),不可重复读,幻读问题;类型二:RC(READ-COMMITTED表示读已提交)可以读取到事务已提交的数据,隔离性一般,不会出现脏读问题,但是会出现不可重复读,幻读问题;类型......
  • 汉源高科1路万兆光4路千兆物理隔离电口4路1000M物理隔离以太网光纤收发器
    HY5700-3514XGV-LC10汉源高科万兆1光4电物理隔离型光纤收发器,提供1路万兆SFP+光口+4路千兆物理隔离电口,支持存储转发或直通透传模式,可通过一芯光纤同时实时传输4路不同的网络信号,杜绝各个电口通道系统信号的相互串扰,实现了不同通道信号之间的物流隔离;产品采用高品质光模块、Marvel......
  • 小程序底层技术机制解读 - 运行环境隔离
    小程序作为一种流行的移动应用形式,其底层技术机制在保障用户隐私安全和提供流畅体验方面起着关键作用。其中之一是小程序的运行环境隔离技术,本文将深入解读这一机制,并提供一个简单的代码演示,以帮助读者更好地理解。什么是运行环境隔离?运行环境隔离是指将一个应用程序的运行环境与主......
  • 汉源高科1个10G光口4路千兆物理隔离网络万兆1光4电物理隔离光纤收发器
    HY5700-3514XGV-LC10是汉源高科具备核心自主知识产权的万兆1光4电网络全隔离型光纤收发器,产品利用ASIC集成电路芯片技术,采用高速数字分复接技术、光纤传输技术设计,在一根光纤上可实现4路10/100M/1000M全隔离型网络信号,产品采用模块化设计,可快速实现各种功能的组合,灵活适应不同需求......
  • 汉源高科4通道千兆网络物理隔离光端机 万兆1光4电光纤收发器 4路LED大屏光电转换器
    HY5700-3514XGV-LC10是汉源高科(北京)科技有限公司自主研发的万兆1光4电物理隔离光纤收发器(可拓展PoE功能),具有4路物理隔离100Mbps或1000Mbps全双工RJ45端口和1个万兆SFP+光口。HY5700-3514XGV-LC10万兆1光4电物理隔离光纤收发器采用高速TDM技术,4路网络分别占用单独的千兆传输通道,从......
  • 家办论道:低调的家族产业基金,最容易被忽视的家企风险隔离工具
    改革开放以来,中国经济在得到快速发展的同时,涌现出大量的民营企业,进而创造出巨量的家族财富,巨量财富积累之后,一个重要的课题就摆在企业家的面前:如何管理好这些财富使之保值增值并顺利传承给下一代?目前,大多数中国家族企业的传承仍然以传统的“遗嘱”模式来实现家族企业控制权的转......
  • 信号隔离的利器:光耦合器的应用与重要性| 百能云芯
    在当今数字化和电子技术的时代,各种电子设备和电路在我们的日常生活和工作中扮演着至关重要的角色。为了使这些设备正常运行并确保它们之间的相互作用,一种叫做光耦合器(CTR)的元件扮演着重要的连接桥梁角色。接下来云芯将带您深入探讨光耦合器的工作原理、应用领域以及其在电子世......
  • iframe实现与父页面跨域隔离的JavaScript 代码沙箱
    这篇文章主要介绍了使用iframe实现与父页面跨域隔离的JavaScript代码沙箱,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪目录正文1.iframe2.dataURL3.将JavaScript代码变成dataURL4.如果需要获取执行结果的话,基于postMessage定制通信机制正文假......