“未读→已读→可重复→串行化”是数据库事务隔离级别(Isolation Level)的经典递进序列
- ✅ **SQL 标准中的「可重复读」只要求避免脏读和不可重复读,明确允许幻读**(phantom reads);- ✅ **InnoDB 的「可重复读」默认使用 Next-Key Lock(行锁 + 间隙锁)**,对查询涉及的索引范围加锁,从而阻止其他事务在该范围内插入新行 → **有效拦截幻读**(针对当前读,如 `SELECT ... FOR UPDATE`、`UPDATE`、`DELETE` 等);- ⚠️ 但需注意:**快照读(普通 `SELECT`)不加锁,依赖 MVCC 生成一致性视图(
Bol52612026-08-07 08:32:45