Mysql中事务的四大特性与实现方式

在这里插入图片描述

MySQL(以 InnoDB 引擎为例)中事务的四大特性(ACID)是通过以下机制实现的,下面是简单明了的说明方式:

✅ 1. 原子性(Atomicity)

事务要么全部执行,要么全部不执行。
• 实现机制:Undo Log(回滚日志)
• 执行前记录 Undo Log,若事务失败,可通过 Undo Log 回滚到原始状态。

✅ 2. 一致性(Consistency)

事务执行前后,数据库保持一致性状态(满足约束条件)。
• 实现机制:由事务机制整体保证(主要依赖 Undo Log + 锁机制)
• 回滚保证不违反约束;
• 提交时更新数据保证符合外键、唯一等约束;
• 一般由数据库的内部校验机制和业务逻辑共同保证。

✅ 3. 隔离性(Isolation)

多个事务之间相互隔离,互不干扰。
• 实现机制:锁机制(行锁)+ MVCC(多版本并发控制)
• 不同隔离级别下使用快照读(MVCC)或加锁读(锁机制)实现隔离;
• 如 REPEATABLE READ 通过 MVCC 提供一致快照。

✅ 4. 持久性(Durability)

事务一旦提交,对数据库的更改是永久性的。
• 实现机制:Redo Log(重做日志)
• 提交前先写入 Redo Log,崩溃恢复时可通过 Redo Log 进行重做,保证已提交数据不会丢失。

📌 汇总表

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卜锦元

白嫖是人类的终极快乐,我也是

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值