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 恢复所有已提交的修改。 一句话总结 原子性保证不半途而废,隔离性保证并发互不干扰,持久性保证宕机不丢数据,三者最终共同保障数据库的一致性。

相关推荐
阿维的博客日记3 小时前
Redis的旁路缓存策略和先删除缓存后更新数据库,先更新数据库后删除缓存,这三种策略之间有什么关系??
数据库·redis·缓存
ictI CABL3 小时前
redis连接服务
数据库·redis·bootstrap
苍煜3 小时前
SpringBoot单体应用到分布式下的数据库锁、事务、Redis事务、分布式锁、分布式事务协调
数据库·spring boot·分布式
xmjd msup4 小时前
mysql的分区表
数据库·mysql
Lyyaoo.4 小时前
【JAVA Spring面经】Spring 事务失效情况
java·数据库·spring
MeAT ITEM4 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
dovens4 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
IOT.FIVE.NO.14 小时前
claude code desktop cowork报错解决和记录Workspace..The isolated Linux environment ...
linux·服务器·数据库
Rick19934 小时前
mysql 慢查询怎么快速定位
android·数据库·mysql