| 核心机制 | 每个事务看到某一时间点的可见版本;旧版本由撤销日志或旧行保留 |
|---|---|
| 典型实现 | PostgreSQL 的行版本与 VACUUM;InnoDB 的 undo log 与 purge |
| 运维关注 | 长事务、快照过老、清理滞后导致空间膨胀 |
MVCC 不解决所有并发异常:写偏斜等需要可串行化隔离或显式加锁。
通过保存数据的历史版本让读操作不阻塞写、写不阻塞读;不同隔离级别对应不同快照规则,长事务与热点更新会造成版本堆积,需要清理机制。
| 核心机制 | 每个事务看到某一时间点的可见版本;旧版本由撤销日志或旧行保留 |
|---|---|
| 典型实现 | PostgreSQL 的行版本与 VACUUM;InnoDB 的 undo log 与 purge |
| 运维关注 | 长事务、快照过老、清理滞后导致空间膨胀 |