数据库并发操作问题这一篇就够了

脏读(Dirty read):

当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问了这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是“脏数据”,依据“脏数据”所做的操作可能是不正确的。

 


丢失修改(Lost to modify):

指在一个事务读取一个数据时,另外一个事务也访问了该数据,那么在第一个事务中修改了这个数据后,第二个事务也修改了这个数据。这样第一个事务内的修改结果就被丢失,因此称为丢失修改。 例如:事务1读取某表中的数据A=20,事务2也读取A=20,事务1修改A=A-1,事务2也修改A=A-1,最终结果A=19,事务1的修改被丢失。


不可重复读(Unrepeatableread):

指在一个事务内多次读同一数据。在这个事务还没有结束时,另一个事务也访问该数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改导致第一个事务两次读取的数据可能不太一样。这就发生了在一个事务内两次读到的数据是不一样的情况,因此称为不可重复读。


幻读(Phantom read):

幻读与不可重复读类似。它发生在一个事务(T1)读取了几行数据,接着另一个并发事务(T2)插入了一些数据时。在随后的查询中,第一个事务(T1)就会发现多了一些原本不存在的记录,就好像发生了幻觉一样,所以称为幻读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
学习数据库管理系统是一项复杂而庞大的任务,通过一篇CSDN文章无法全面覆盖所有相关知识。然而,可以通过一篇文章提供一些基本概念和入门指导。 首先,数据库管理系统(DBMS)是一种软件工具,用于管理和组织数据库。它可以提供数据存储、检索、更新和管理的功能。了解DBMS的不同类型和常见的DBMS软件是学习数据库管理系统的第一步。 其次,学习数据库设计是非常重要的。在设计数据库时,需要考虑表格、字段、关系、键等概念。了解关系数据库的范式(如第一范式、第二范式、第三范式等)以及关系代数和SQL查询语言也是必要的。 此外,了解事务处理和并发控制是数据库管理系统学习的重点。事务是指一系列数据库操作的逻辑单元,具有原子性、一致性、隔离性和持久性特性。掌握事务处理的概念和技术,以及处理并发访问数据库时可能发生的问题和解决方案,对于成为数据库管理系统专家至关重要。 最后,学习数据库性能优化和安全管理也是数据库管理系统学习的重要内容。了解如何优化数据库查询、索引设计、缓存策略和数据库分区等,可以提高数据库的性能和响应时间。同时,了解如何保护数据库的安全性、备份和恢复数据也是数据库管理系统学习的重要一环。 综上所述,学习数据库管理系统需要掌握数据库类型和软件、数据库设计、事务处理和并发控制、性能优化以及安全管理等知识。通过阅读CSDN等相关文章可以初步了解这些概念和技术,但需要进一步深入学习和实践才能真正掌握数据库管理系统。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值