MySQL事务四大特性(ACID)

MySQL 事务四大特性 ACID

事务四大特性 ACID,是保障数据库事务可靠性、一致性的核心准则。

  1. 原子性(Atomicity) 事务中的所有操作,要么全部成功,要么全部失败回滚,绝对不会出现部分执行的情况。 - 实现原理:依靠 undo log(回滚日志)。执行过程中,所有修改都会记录反向操作,若事务失败,通过 undo log 将数据回滚到修改前的初始状态。

  2. 一致性(Consistency) 事务执行前后,数据库从一个一致状态转变为另一个一致状态,全程不破坏业务定义的完整性约束(外键、唯一索引、触发器等)。 - 核心:一致性是 ACID 的最终目标,原子性、隔离性、持久性均为保障一致性服务。- 示例:A转账给B,事务前后两人账户总金额保持不变。

  3. 隔离性(Isolation) 多个事务并发执行时,彼此之间互不干扰,每个事务独立运行、互相隔离。 - 实现原理:依靠 锁机制(行锁/表锁)+ MVCC 多版本并发控制,MVCC 底层依托 undo log 实现。

  4. 持久性(Durability) 事务一旦提交,对数据的修改永久保存;即便系统崩溃、断电,已提交的数据也不会丢失。 - 实现原理:依靠 redo log(重做日志)。宕机重启后,可通过 redo log 恢复所有已提交的修改。 一句话总结 原子性保证不半途而废,隔离性保证并发互不干扰,持久性保证宕机不丢数据,三者最终共同保障数据库的一致性。

相关推荐
数据库小学妹2 小时前
MySQL长事务复盘:Sleep连接、MDL排队与undo滞留
运维·数据库·mysql
半摆烂日常2 小时前
自建WMS和买成品:三年成本对比
大数据·服务器·数据库·python·深度学习·低代码·numpy
风123456789~2 小时前
【架构专栏】第6章 数据库设计基础知识 1/4
数据库·架构
Nturmoils2 小时前
异构数据同步不只追延迟:用 KFS 守住不停机迁移的每一笔账
数据库
星星落进兜里3 小时前
Redis 内存缓存,面试补充
数据库·redis·面试
棣廷3 小时前
初识MySQL——DQL数据查询语言详解
数据库·mysql
大模型码小白3 小时前
ChatGPT 的回答也能被结构化抓取?AI Bot Scraper 对比测评
服务器·开发语言·数据库·人工智能·spring·chatgpt
天涯柳絮3 小时前
SQL注入
数据库·sql·网络安全
API快乐传递者4 小时前
淘宝海外商品详情接口实战指南:从全球开放平台到跨境铺货的全链路方案
java·前端·数据库
tachibana24 小时前
复杂的 RAG 范式
数据库·人工智能·ai·大模型·agent