贝利信息

SQL 事务的 ACID 分别解决了什么问题?

日期:2026-01-20 00:00 / 作者:舞姬之光
ACID是数据库事务的四大核心特性:原子性通过undo log保证操作全成功或全失败;一致性依赖约束与应用逻辑维持合法状态;隔离性用锁或MVCC防止并发干扰;持久性靠WAL(redo log)确保提交后数据不丢失。

ACID 是数据库事务的四个核心特性,分别对应 Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性)。它们共同确保事务在并发、故障等复杂场景下仍能安全、可靠地执行。

原子性(Atomicity)解决“部分失败”问题

事务中的所有操作要么全部成功,要么全部不生效。它防止因程序崩溃、断电或异常导致只执行了部分语句,留下数据不一致的中间状态。

一致性(Consistency)解决“业务规则被破坏”问题

事务必须使数据库从一个合法状态转变到另一个合法状态,始终满足预定义的约束(如主键唯一、外键引用、check 条件、触发器逻辑等)。

隔离性(Isolation)解决“并发干扰”问题

多个事务同时执行时,彼此不应看到未提交的中间结果,也不能相互覆盖或读取到不一致的快照。它避免脏读、不可重复读、幻读等问题。

持久性(Durability)解决“系统

崩溃后丢失”问题

一旦事务成功提交,其结果就必须永久保存,即使随后发生断电、进程崩溃或硬件故障,数据也不能丢失。