打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
6-3


6.3.1 并发操作带来的三个问题

1.丢失更新问题

(1)数据库中A的初值是100。
(2)事务T1对A的值减30,事务T2对A的值增加一倍。
(3)如果执行次序是先T1后T2,那么结果A的值是140。
(4)如果是先T2后T1,那么A的值是170。
(5)这两种情况都应该是正确的。
(6)但是按表中的并发执行,结果A的值是200,这个值肯定是错误的,因为在时间t7丢失了事务T1对数据库的更新操作。因而这个并发操作是不正确的。

2.读脏数据问题
(1)实例1:用户读了“脏数据”,但没有破坏数据库的完整性。

   ①事务T1把A的值修改为70,但尚未提交(即未做COMMIT操作),事务T2紧跟着读未提交的A值(70)。
   ②随后,事务T1做ROLLBACK操作,把A的值恢复为100。而事务T2仍在使用被撤销了的A值70。
   ③在数据库技术中,把未提交的随后被撤销的数据称为“脏数据”。
(2)实例2:用户读了“脏数据”,引起自身的更新操作被丢失,破坏了数据库的完整性。

   ①事务T2不仅在时间t4读了未提交的A值(70)。
   ②而且实际上在时间t8还丢失了自己的更新操作。
   ③此时破坏了数据库的完整性。

3.不可重复读问题

(1)T1需要两次读取同一数据项A。
(2)但是在两次读操作的间隔中,另一个事务T2改变了A的值。
(3)因此,T1在两次读同一数据项A时却读出了不同的值。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
事务管理基础:数据库的并发控制相关知识笔记
直播平台开发,直播平台的两段锁能带来什么样的加成
[总结]数据库管理(事务、ACID、并发、封锁、可串行化、隔离、……)
数据库并发控制技术(3)
数据库并发控制
深入理解数据库并发控制原理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服