shell中执行某条语句失败能不能重复执行_如何理解Mysql中的事务隔离级别?

7c8277891455440453b2c9a2971250f8.png

要说清楚Mysql中的事务隔离级别,我们先从事务的定义说起。事务,是一个或一组sql语句组成的一个执行单元,这个执行单元要么全部执行,要么全部不执行。整个单独单元作为一个不可分割的整体,如果单元中某条sql语句一旦执行失败或产生错误,整个单元将会回滚。所有收到影响的数据将返回到事务开始以前的状态;如果单元中的所有sql语句均执行成功,则事务被顺利执行。

事务有4个属性,即ACID属性

1. 原子性(Atomicity)

原子性是指事务是一个不可分割的工作单元,事务中的操作要么都发生,要么都不发生。

2. 一致性(Consistency)

事务必须使数据库从一个一致性状态变换到另一个一致性状态。

3. 隔离性(Isolation)

事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

4. 持久性(Durability)

持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响。

对于同时运行的多个事务,当这些事务访问数据库中相同的数据时,会有可能发生一下的问题:

脏读:对于两个事务T1、T2,T1读取了已经被T2更新但还未提交的字段,若T2回滚,T1读取的内容就是临时且无效的。

不可重复度:对于两个事务T1、T2,T1读取了一个字段,然后T2更新了该字段之后, T1再次读取同一个字段,值就不同了。

幻读:对于两个事务T1、T2,T1从表中读取了一个字段,然后T2在该表中插入了一些新的行之后,如果T1再次读取同一个表,就会多出几行。

因此,Mysql定义了四种隔离级别,分别解决以上发生的问题。好,我们通过例子来分别演示着4种隔离级别。

一个事务包括开始事务、执行事务、结束事务

开启事务:set auto committed = 0

结束事务:commit/rollback

执行事务:一串sql语句。

假设原始表为:

17eefd7a16c53412a37276317ef69175.png

读未提交:允许事务读取未被其他事务提交的变更,脏读、不可重复读和幻读的问题都会出现。

用户A:

1f01118dd79387358097410cdadae539.png

用户B:

afdd51760a992a0d72a860c0eef41d05.png

此时B在脏读。

读已提交:只允许事务读取已经被其他事务提交的变更,可以避免脏读,但不可重读和幻读问题仍然可能出现。

用户A:

1c903c7ebc718a4feee41f1835eb2dee.png

用户B:

0b938246319a1ff5482bc3823af7f3a0.png

此时B只读已提交的数据,但是用户A提交了,B再读一次的数据和上一次不一致,不可重复读的问题依然存在。

可重复读:确保事务可多次从一个字段中读取相同的值。但幻读问题依然存在。

用户A:

665ece46639f25b8ef918275e452b8d5.png

用户B:

38d6d1b30008dc433af599062a4d2e78.png

此时B读取的两次数据都一致,说明可重复读。

串行化:在事务持续期间,禁止其他事务对该表进行插入、更新和删除,所有问题都可以避免,但性能十分地下。

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

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

相关文章

oracle 试图访问已经在使用的事物处理临时表,解决ORA-14450:试图访问已经在使用的事务处理临时表...

在开发使用过程中,一个存储过程用到表TMP_DA_GMS,允许程序的时候报错,后台查询到错误原因是因为表里有个字段需要设置为可以为N在开发使用过程中,一个存储过程用到表TMP_DA_GMS,允许程序的时候报错,后台查询到错误原因是因为表里有…

《数字孪生体技术白皮书(2019)》(简版)全文

来源:《数字孪生体实验室原创》12月27日,数字孪生体实验室与安世亚太联合正式发布了《数字孪生体技术白皮书(2019)》。白皮书的第一部分关注对数字孪生体的抽象和总结。无论是参考架构、成熟度模型还是关键技术,都以“…

sql 删除字段中下划线_SQL基础教程知识点总结

1. ●列 ●字段 ●行 ●记录 2. SQL 语句及其种类 DDL DDL(Data Definition Language,数据定义语言)用来创建或者删除存储 数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。 CREATE:创建数据库和表等对象 DROP: 删除数据库和表等对象 ALTER: 修改数据…

王恩东院士:AI计算是未来的核心生产力

来源:蓝海长青智库12月27日,以“超算无界、智创未来”为主题的2019国际超级计算产业博览会在济南召开。中国工程院院士、浪潮集团首席科学家王恩东在大会发表《智慧计算 未来动力》主题演讲。王恩东指出,人工智能正在驱动前所未有的社会变革&…

​采访了14位技术公司的创始人,他们如何看待2020年的AI行业?

来源:KDnuggets编译:木槿、张大笔茹、楚阳科幻元年2020年马上就要来了。对于技术行业来说,这一年会有哪些值得期待的变化?KDnuggets采访了14位科技前沿的技术公司创始人,并汇总了他们眼中的2020年:关于人工…

前端编程基础

网页前端编程基础 HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言&#xff0c;而是一种标记语言 (markup language)标记语言是一套标记标签 (markup tag)HTML 使用标记标签来描述网页<html> <body>…

spark sql合并小文件_Spark SQL小文件问题在OPPO的解决方案

Spark SQL小文件是指文件大小显著小于hdfs block块大小的的文件。过于繁多的小文件会给HDFS带来很严重的性能瓶颈&#xff0c;对任务的稳定和集群的维护会带来极大的挑战。一般来说&#xff0c;通过Hive调度的MR任务都可以简单设置如下几个小文件合并的参数来解决任务产生的小文…

白春礼:探究物质世界奥秘的一把金钥匙——纪念元素周期表发表150周年

来源&#xff1a;中国科学报联合国大会宣布2019年为国际化学元素周期表年&#xff0c;旨在纪念俄罗斯化学家门捷列夫在150年前发表元素周期表这一科学发展史上的重大成就。世界万物是由什么最基本的物质构成的&#xff1f;这些最基本的物质又是怎样变成万物世界的&#xff1f;这…

莫名的证书错误...ERROR ITMS-90035:Invalid Signature.

请删除 .DS_Store 这种类似的文件再尝试转载于:https://www.cnblogs.com/decode1234/p/6529601.html

linux里工作目录的字体变蓝,netterm访问Linux时字体和背景颜色随目录发生改变的问题解决...

方法很多&#xff0c;除了改用其他仿真终端程序外&#xff0c;继续使用netterm可用下面方法解决。方法1&#xff1a;修改netterm参数&#xff0c;最简单选项-->屏幕颜色-->允许图形编译码 重置颜色至默认值点选上&#xff0c;见下图&#xff1a;这种方法的最大特点是目录…

因果关系:真的存在吗?

来源&#xff1a;白驹静夜思学图灵奖获得者、贝叶斯网络之父 Judea Pearl 和他的同事在 2018 年完成了的著作《The Book of Why: The New Science of Cause and Effect》&#xff08;中文名《为什么》&#xff09;中认为&#xff1a;机器学习不过是在拟合数据和概率分布曲线。变…

ThinkPhp知识大全(非常详细)

php框架 发瑞 一、真实项目开发步骤&#xff1a; 多人同时开发项目&#xff0c;协作开发项目、分工合理、效率有提高&#xff08;代码风格不一样、分工不好&#xff09;测试阶段上线运行对项目进行维护、修改、升级&#xff08;单个人维护项目&#xff0c;十分困难&#xff…

盘点2019年336起机器人及相关领域投融资事件!注重细分领域深耕行业复苏趋势显现...

来源&#xff1a;机器人大讲堂2019年的投资就像是随着季节气候变化的&#xff0c;现在到了冬季&#xff0c;或许有些人等不到明年春天的回暖&#xff0c;但终究春天还是会来。机器人是继互联网热潮逐渐褪去后&#xff0c;投资人寻找到的新投资项目&#xff0c;科创板使得机器人…

项目管理论坛_【项目管理论坛】 第15期:如何做一名优秀的项目经理

点击上方蓝字关注中铁大桥局五公司企业是个人成长的平台&#xff0c;个人是企业发展的力量。心在一起&#xff0c;力出一孔。根据公司全年生产经营的“路线图”和“时间表”&#xff0c;围绕今年的任务目标&#xff0c;展开思考讨论&#xff0c;凝聚全员智慧&#xff0c;共同探…

单行文本与多行文本省略文本

一、单行文本省略 1.text-overflow:ellipsis;该属性用于当文本溢出的时候用省略号的方式显示。它还有一个属性值是clip&#xff08;溢出部分直接裁剪掉&#xff09;。 2.overflow:hidden;对溢出内容进行隐藏。 3.white-space:nowrap;强制在一行显示 二、多行文本省略 用-webkit…

推荐系统技术演进趋势:召回-排序-重排

来源&#xff1a;DataFunTalk导读&#xff1a;推荐系统技术&#xff0c;总体而言&#xff0c;与 NLP 和图像领域比&#xff0c;发展速度不算太快。不过最近两年&#xff0c;由于深度学习等一些新技术的引入&#xff0c;总体还是表现出了一些比较明显的技术发展趋势。这篇文章试…

ansbile简单应用

一、简介 Ansible is a radically simple configuration-management, application deployment, task-execution, and multinode orchestration engine. Design Principles Have a dead simple setup process and a minimal learning curve Be super fast & parallel by def…

世界上最顶尖的技术都在哪些国家?

文章来源&#xff1a;深度无聊半导体加工设备基本被日本&#xff0c;美国霸占。目前蚀刻设备精度最高的是日立。比如东丽&#xff0c;帝人的炭纤维&#xff0c;超高精密仪器&#xff0c;数控机床&#xff0c;光栅刻画机&#xff08;这个最牛的也是日立&#xff0c;刻画精度达到…

Spring Boot Learning(模版引擎)

一&#xff0e; spring boot的web应用开发&#xff0c;是基于spring mvc 二&#xff0e; Spring boot 在spring默认基础上&#xff0c;自动配置添加了以下特性&#xff1a;1. 包含了ContentNegotiatingViewResolver和BeanNameViewResolver beans。2. 对静态资源的支持&#xff…

重磅!阿里达摩院发布《2020十大科技趋势》

来源&#xff1a;雷锋网2019年&#xff0c;是新兴科技发展史上的重要年份。 这一年&#xff0c;各大公司的AI、云计算、大数据走向下沉市场&#xff0c;空中博弈进入到地面作战&#xff0c;技术的商业化成为生意成败的重要考量。其间&#xff0c;产业与场景成为大漏斗&#xff…