Mysql的四种隔离级别

Mysql的四种隔离级别


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

Read Uncommitted(读取未提交内容)

 

在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。

 

Read Committed(读取提交内容)

 

这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这种隔离级别 也支持所谓的不可重复读(Nonrepeatable Read),因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。

 

Repeatable Read(可重读)

 

这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上,这会导致另一个棘手的问题:幻读 (Phantom Read)。简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control)机制解决了该问题。

 

Serializable(可串行化)

这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争。

 

出现问题

这四种隔离级别采取不同的锁类型来实现,若读取的是同一个数据的话,就容易发生问题。例如:

脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。

 

不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。

 

幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。

 

在MySQL中,实现了这四种隔离级别,分别有可能产生问题如下所示:

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

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

相关文章

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

文件服务器的配置实训报告 内容精选换一换本章节适用于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 表名;

项目vue2.0仿外卖APP(四)

组件拆分 先把项目搭建时生成的代码给清了吧 现在static目录下引入reset.css 接着在index.html引入&#xff0c;并且设置<meta> 有时候呢&#xff0c;为了让代码符合我们平时的编码习惯&#xff0c;我们可以在ESLint进行设置&#xff0c;如下&#xff1a; 回到入口js文件…

手机技巧:常见的Note、Max、Pro、Plus、Mate系列介绍,看完你就懂了!

目前主流的手机厂商都会以Note、Max、Pro、Plus、Mate来区分手机的品牌系列&#xff0c;可能会有一些朋友比较好奇&#xff0c;今天小编带大家来了解一下Note、Max、Pro、Plus、Mate这些代表的含义&#xff0c;为什么大的手机厂商青睐用这些单词来打造自己的手机品牌市场&#…

APP技巧:安卓原生跨屏协同终于来了,还能和 Windows「隔空投送」

谷歌在 CES 2022 上宣布了至少 13 种不同的新软件功能&#xff0c;从类似 AirPods 的快速切换到此前承诺过的软件&#xff0c;可以在 Chromebook 上镜像你的 Android 文本应用程序等。这是谷歌称为“Better Together”的计划的一部分&#xff0c;外界认为谷歌是想追赶苹果生态系…

事务的特性及事务的隔离级别(转)

原文&#xff1a;http://www.cnblogs.com/fjdingsd/p/5273008.html 本篇讲诉数据库中事务的四大特性&#xff08;ACID&#xff09;&#xff0c;并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作&#xff0c;那么该数据库必须要具备以下四个特性&#xff1…

操作系统:SFTP相关知识介绍

目录 1、SFTP是什么&#xff1f; 2、SFTP组成 3、SFTP验证连接方式 4、SFTP常用命令 4.1 登录 4.2 SFTP Shell 基本操作 4.3 下载服务器文件到本地 4.4 上传本地文件到远程服务器 今天给大家分享SFTP相关知识&#xff0c;希望对大家能有所帮助&#xff01; 1、SFTP是什么&#…