暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
事务并发的可能问题与其解决方案.pdf
50
9页
0次
2023-09-24
免费下载
事务并发的可能问题与其解决方案
一、事务并发的问题
这些问题可以归结为 5 类,包括 3 数据读问题 脏读、 不可重复
读和 幻象读)以及 2 类数据更新问题( 第一类丢失更新和 第二类
丢失更新)
脏读(dirty read
A 事务读取 B 事务尚未提交的更改数据,并在这个数据的基础上操
作。如果恰巧 B 事务回滚,那么 A 事务读到的数据根本是不被承
的。来看取款事务和转账事务并发时引发的脏读场景
在这个场景中,B 希望取款 500 元而后又撤销了动作, A 往相同的
账户中转账 100 元,就因为 A 事务读取了 B 务尚未提交的数据,
因而造成账户白白丢失了 500 元。在 Oracle 数据库中,不会发生脏
读的情况。
不可重复读(unrepeatable read
不可重复读是指 A 事务读取了 B 事务已经提交的更改数据。假设 A
在取款事务的过程中,B 往该账户转账 100 元,A 两次读取账户的余
额发生不一致:
这个就我自己觉得问题不大,好像也并没有影响什么
幻象读(phantom read
A 事务读取 B 事务提交的新增数据,这时 A 事务将出现幻象读的问
题。幻象读一般发生在计算统计数据的事务中,举一个例子,假设银
行系统在同一个事务中,两次统计存款账户的总金额,在两次统计过
程中,刚好新增了一个存款账户,并存入 100 元,这时,两次统计的
总金额将不一致
如果新增数据刚好满足事务的查询条件,这个新数据就进入了事务
视野,因而产生了两个统计不一致的情况。
不可复读 幻读, 这两者实非常。不可重 要是
多次一条记录, 发现该中某些列被修。而幻 主要
是说多次读取一范围内的记(括直接查询所有记录果或者做
), 结果(标准案一, 记录减少
应该也算是幻读)
of 9
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

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