ACID
ACID 是关系事务的四性质:原子性(全做或全不做)、一致性(约束保持)、隔离性(并发互不干扰)、持久性(提交后不丢)。
用途
保证事务在故障与并发下仍正确可靠,是关系数据库的核心承诺。
机制
原子性:事务全做或全回滚(undo log)。一致性:事务前后满足约束。隔离性:并发事务等效串行(锁/MVCC)。持久性:提交后写入持久存储(redo log/WAL)。隔离级别由弱到强:读未提交→读已提交→可重复读→串行化。
用例
- 金融转账事务
- 订单与库存扣减
- 多表关联更新
- 需强一致性的业务
示例
- 输入
BEGIN; UPDATE...; INSERT...; COMMIT输出Atomic commit or rollbackAll or nothing
常见错误
- Long transactions holding locks cause blocking
- Shorten transactions; use optimistic locking