暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
专题_今天来聊一聊数据库事务的四种隔离性_Oracle和MySQL各自的默认隔离级别及原因分析
958
8页
2次
2020-09-04
5墨值下载
【引言】
大家都知道数据库总事务四特性原子性、一致性、隔离性和持久性,也就是人们俗称的

特性。在实际生产应用中,数据库中的数据被多用户共享
访问,而在多个用户
同时操作相同数据时,可能会出现一些事务的并发问题就就有了事务隔离性的四种
同级别。今天,本文将围绕事务的特性、并发问题、隔离级别进行集中学习。
之前的一篇相关推文介绍过
MySQL
的三种锁:
》点击查看
首先回顾下事物的概念:
一个事务中的一系列的处理操作操作要么全部成功,要么一个都不做。在数据库操作中
一项事务(

)是由一条或多条操作数据库的

语句组成的一个不可分割的
工作单元。
那么,事务的处理结束就会有两种:

当事务中的所有步骤全部成功执行时,事务提交,
成功;

如果其中任何一个步骤失败,该事务都将发生回滚操作,撤消已执行的所有操作。
再来看下事务的四个特性:
)原子性(

表示将事务中所进行的操作捆绑成一个不可分割的单元,即对事务所进行的数据修改等
作,要么全部执行,要么全不执行;如果失败,就回滚到事务开始前的状态
)一致性(

事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行
前和执行之后都必须处于一致性状态。
)隔离性(

指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的
他事务是隔离的,并发执行的各个事务之间不能互相干扰。
)持久性(

持久性也称永久性(

),持久性就是指如果事务一旦被提交,数据库中数据
的改变就是永久性的,即使断电或者宕机的情况下,也不会丢失提交的事务操作。
本文主讲隔离性,这里再把事务的隔离性(
Isolation
)单拉出来说明下:
隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他
户的事务干扰,多个并发事务之间要相互隔离。
事务隔离性的重要性:
事务的隔离性主要是从提升数据库的数据处理速度,即并发角度考虑的;换句话说,事
隔离性和整体数据库的性能
并发执行,有直接决定性作用。
一个思维模式:想要理解一个知识点,就假设如果没有该点会有什么发生;事务隔离性
是,如果事务中没有隔离性这个概念,会发生点啥事?
在实际应用中,数据库性能的好坏标准之一就是数据能被尽可能多的户共同访问,
多个用户同时处理同一据时,可能就会出现一些事务的并发问题导致如下四种情况
现:
1
)脏读
指一个事务读取到另一个事务未提交的数据。
2
)不可重复读
指一个事务对同一行数据重复读取两但得到的结果不同。
举例事务
读取表的一条数据间,事务
更新该条提交,事务
取该
表该条记录时,发现和不一致。
3
指一个事务执行两但第二次的结果包含中未出现的数据。
 
事务
读取表时,时读取到事务
操作的记录,两操作结果不一致。
这里,有朋友会问,不可重复读和读这不一样吗
答案为:不一。有啥别?
和不可重复读都是读取了另一条交的事务可重复读的都是同一个
据项,而对的是一数据整体(如数据的个数)。
of 8
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜