4.2.3 快照读(Snapshot)与 MVCC 在数据库系统的世界里,读操作远非“从磁盘捞一行数据”这般轻巧。它是一场精密的时空协商——既要保证一致性,又不能牺牲并发性;既要回溯历史状态,又不能拖垮实时响应。当多个事务同时读写同一张表、同一行记录时,若不加约束,我们很快就会撞上“脏读”“不可重复读”“幻读”这三堵高墙。而快照读(Snapshot Read),正是现代关系型数据库为穿越这堵墙所锻造的一把时间钥匙;MVCC(Multi-Version Concurrency Control),则是这把钥匙背后整套精密的锁芯结构与齿轮咬合逻辑。 你可能已经知道:MySQL InnoDB 默认的 隔离级别下, 是快照读;PostgreSQL 的所有 默认就是快照读;