# 事务（Transaction）

### 缩写：无

### 简述

一组读写操作的逻辑单元：要么一并提交生效，要么回滚如同未发生。是并发与故障下保持业务不变量的基本边界。

### 为何出现

多步更新与并发交错、进程崩溃会导致部分成功；需要原子边界。

### 使用场景

转账、下单扣库存、多表一致性写、迁移中的批量单元。

### 在体系中的位置

应用开启/提交/回滚 → DBMS 日志、锁/MVCC、恢复。

### 组成与要点

```text
BEGIN → 读写 → COMMIT 或 ROLLBACK

```

### 实践与应用

• 事务尽量短；只包真正需要原子的写。
• 明确隔离级别与重试/幂等。
• 捕获死锁与序列化失败并安全重试。

### 注意事项

• 长事务拖垮 undo/锁/复制。
• 事务内远程调用易扩大失败面。

### 对比与易混

本地事务 vs 分布式事务；事务 vs 单条自动提交语句。

### 信号与度量

事务时长、回滚率、锁等待、死锁次数。

### 关联术语

• ACID：事务期望性质
• 隔离级别：并发可见性档位
• 锁 / MVCC：实现手段
• 日志：持久与恢复基础
