数据库事务的四大特性,四种隔离级别,如何避免脏读、不可重复读、幻读(如何加锁)?

本文介绍了数据库事务的四大特性——原子性、一致性、隔离性和持久性,并详细讲解了事务的四种隔离级别:未提交读、已提交读、可重复读和可串行化,以及如何通过加锁避免脏读、不可重复读和幻读。通过对数据库事务的理解,有助于提升数据库并发操作的管理与优化。
摘要由CSDN通过智能技术生成

目录

第一章 数据库基础知识



前言

  认为自己大学时学得不够深入,发现实际工作中需要用到它的地方很多。因此记下此文帮助自己梳理知识,也希望可以给需要的你提供帮助。自学之路,如有错误,请纠正,万分感谢


来自笔者内心理解(以及结合相关文献 综合思考后)的正文:

数据库事务

一、定义

  数据库事务是一个不可分割的工作单位,由事务开始与事务结束之间执行的全部数据库操作构成,这些操作要么全部执行,要么全部不执行。

二、要求

  一个数据库事务可以包含多个查询、修改、删除、插入等数据库动作,它们要么作为一个整体完全得到确认,要么完全失败;一个事务只能包含对一个数据库实例的数据操作,跨多个数据库实例需要分布式事务的支持。

三、影响

  数据库事务会给数据库并发操作带来一定影响,降低系统的并发能力。

四、特性(ACID)

(1)A:原子性 Atomicity

  一个原子事务中的所有操作要么全部成功,要么全部失败。即整个事务中的每项任务都必须正确执行,如有任一任务执行失败,则整个事务就会被终止,此前对数据所作的任何修改都将被撤销(回滚);如果每项任务都执行成功,事务则会被提交。是数据库系统区别于其他一切文件系统的重要特性之一(文件系统出错不可恢复)。

看个小例子吧~
  假如我们需要进行转账服务,以下表格中的每一步都需要保证全部正确,否则需要回滚到初始状态

First 检查活期存款余额是否高于转账金额
Second 活期存款余额 减去 转账金额
Third 转账账户余额 加上 转账金额

(2)C:一致性 Consistency

  数据库总是从一个一致性的状态转换到另一个一致性的状态。

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值