Mysql快照读和当前读

快照读

  读取的是记录数据的可见版本(可能是过期的数据),不用加锁

当前读

  读取的是记录数据的最新版本,并且当前读返回的记录都会加上锁,保证其他事务不会再并发的修改这条记录
  概念说的比较虚,也不好理解,接着举一个例子吧,假设你开启了两个事务,分别是A和B,这里有个张表,user表,里面有四条数据

 

 x表示是排它锁(Exclusive),s表示共享锁(Share),

image.png

1、select快照读(照片)

  当你执行select *之后,在A与B事务中都会返回4条一样的数据,这是不用想的,当执行select的时候,innodb默认会执行快照读,相当于就是给你目前的状态找了一张照片,以后执行select 的时候就会返回当前照片里面的数据,当其他事务提交了也对你不造成影响,和你没关系,这就实现了可重复读了,那这个照片是什么时候生成的呢?不是开启事务的时候,是当你第一次执行select的时候,也就是说,当A开启了事务,然后没有执行任何操作,这时候B insert了一条数据然后commit,这时候A执行 select,那么返回的数据中就会有B添加的那条数据......之后无论再有其他事务commit都没有关系,因为照片已经生成了,而且不会再生成了,以后都会参考这张照片。

2、update、insert、delete 当前读

  当你执行这几个操作的时候默认会执行当前读,也就是会读取最新的记录,也就是别的事务提交的数据你也可以看到,这样很好理解啊,假设你要update一个记录,另一个事务已经delete这条数据并且commit了,这样不是会产生冲突吗,所以你update的时候肯定要知道最新的信息啊。

  我在这里介绍一下update的过程吧,首先会执行当前读,然后把返回的数据加锁,之后执行update。加锁是防止别的事务在这个时候对这条记录做什么,默认加的是排他锁,也就是你读都不可以,这样就可以保证数据不会出错了。但注意一点,就算你这里加了写锁,别的事务也还是能访问的,是不是很奇怪?数据库采取了一致性非锁定读,别的事务会去读取一个快照数据。
  innodb默认隔离级别是RR, 是通过MVVC来实现了,读方式有两种,执行select的时候是快照读,其余是当前读,所以,mvvc不能根本上解决幻读的情况

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络知识:快速了解IP地址的概念以及IPV4和IPV6的区别!

‍‍小伙伴们看到上面的机房了吗?成千上万台服务器他们都少不了一个小小的IP地址,每台服务器都配置了一个或多个IP。今天电脑学习微信公众号小编就带大家详细了解下IP地址都是什么?IP地址(Internet Protocol Address)是…

手机投屏到电视,1分钟就能学会,无需下载任何软件,太实用了

生活中,我们玩手机的时候经常看到一些好玩的东西,想分享给亲人,朋友们一起看,无奈手机屏幕太小,大家凑一起看不方便,效果也不好。 如果能把好玩的东西投屏到电视上,那这个问题就迎刃而解了&…

联想计算机BIOS开启Intel-vx,如何在计算机BIOS或UEFI固件中启用Intel VT-x | MOS86

现代CPU包括硬件虚拟化功能,可帮助加速在VirtualBox,VMware,Hyper-V和其他应用程序中创建的虚拟机。但是这些功能都是虚拟机是美好的事情。使用虚拟化应用程序,您可以在当前系统的窗口中运行整个虚拟机。在该虚拟机中,…

Linux操作系统安装字体笔记

从事Java程序员的朋友们都知道,大多数客户的应用都是部署在Linux操作系统的服务器上面,因为Linux服务器比Windows服务器成本要低、系统运行更加稳定。但它也有自己不足之处,比如在系统上导出pdf等文档时候,如果有中文字符的话&…

foxmail连接163邮箱服务器,消除Foxmail无法登录163邮箱顽疾

用手机号申请了163免费邮箱,在网页端或手机网易邮箱客户端可以正常登录,但在电脑Foxmail客户端中,按相同的邮件服务器进行设置,显示密码不正确。难道163邮箱已经不支持PC中的Foxmail客户端了吗?让我们一同探究解决之道…

网络知识:水晶头网线和网线插座接法制作过程介绍

今天小编给大家分享水晶头网线和网线插座的制作过程,有需要的朋友可以收藏一下!家庭网线插座接法详解我们这里所说的网线插座,正确的叫法应该是网线模块,一般应用在室内的墙壁上作为网线插孔。现在家庭中使用的一般都是双绞线&…

Arduino 极速入门系列 - 光控灯(3) - 光敏电阻、与电阻分压那些事

继续是讲解基础原理,新手专用部分。这次讲光敏电阻,和用电阻分压。光电元器件有好几种,其中测光相关的元器件,常见的有光敏三极管和光敏电阻,我们这次光控灯用光敏电阻。在我们光控灯里面,将会使用它搭建出…

Mysql的四种隔离级别

Mysql的四种隔离级别 SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 Read Uncommitted(读取未提…

配置文件服务器实训报告,文件服务器的配置实训报告

文件服务器的配置实训报告 内容精选换一换本章节适用于MRS 3.x之前版本。Loader支持以下多种连接,每种连接的配置介绍可根据本章节内容了解。obs-connectorgeneric-jdbc-connectorftp-connector或sftp-connectorhbase-connector、hdfs-connector或hive-connectorOBS…

操作系统:UNIX、Linux、IOS、Android之间的渊源

UNIX简化形成了Linux;Linux则是Android的内核;而苹果则是使用UNIX系统作为ios和macos的内核。几个系统出现的时间UNIX系统的诞生1969年,贝尔实验室的研究员肯•汤普森,编写了一款计算机游戏Space Travel,先后在多个系统…

常见数据库管理系统

常见数据库管理系统

xp修改时间同步服务器地址,xp时间同步服务器地址更换

xp时间同步服务器地址更换 内容精选换一换切换操作会改变保护组的容灾方向,将生产站点可用区的业务切换到容灾站点可用区,容灾站点可用区的业务切换到生产站点可用区。切换后数据同步不中断,容灾方向更改为从容灾站点到生产站点。您可以针对生…

APP技巧:电脑登录微信,要删除这5个文件,否则别人能查看聊天记录

在办公的电脑上,你会登录微信吗? 如果你有登录,那么就得注意了,电脑端微信有一个名为“保存聊天记录”的功能,通过它我们可查看到跟微信好友之间发送的图片、视频、文件等数据! 既然知道这么危险&#xff0…

Win10系统磁盘分区图文教程

当我们安装完Win10操作系统以后,无论你使用机械硬盘还是固态硬盘,你在我的电脑里面只能看到一个总容量大小的磁盘,并没有ABCEDFG这些分盘,我们应该如何将磁盘快速分区呢?今天小编就为大家来介绍一下。 首先我们找到我的…

服务器系统玩dnf,win7系统玩dnf提示正在连接服务器的解决方法

很多小伙伴都遇到过win7系统玩dnf提示正在连接服务器的困惑吧,一些朋友看过网上零散的win7系统玩dnf提示正在连接服务器的处理方法,并没有完完全全明白win7系统玩dnf提示正在连接服务器是如何解决的,今天小编准备了简单的解决办法&#xff0c…

MIUI 13:带来全新小部件,新增三大隐私保护功能等

MIUI系统可以说是小米的起家本钱,MIUI全球活跃用户在一个月前已经超过5亿,不过这两年在Bug、流畅性方面也存在不少争议。MIUI 13发布之前,小米也聊了聊MIUI的一些相关进展。MIUI系统负责人金凡表示,自己加了很多米粉,听…

电脑技巧:电脑几种常见的系统故障解答

目录 一、win10电脑蓝屏的常见问题及解决方式 二、电脑驱动文件缺少问题及解决办法: 三、电脑开机进不了系统,在启动页面停止不动的问题以及解决办法 一、win10电脑蓝屏的常见问题及解决方式 1、蓝屏代码1: MACHINE-CHECK-EXCEPTION 原因分析&#xff1a…

mysql查看表结构 desc 表名;

查看表结构 语法:desc 表名;