附录 C:术语与故障速查
| 术语 | 本书含义 | 判断时需要的边界 |
|---|---|---|
| 事务 | 一组由提交或回滚结束的数据库工作 | 连接、自动提交、隐式提交与外部副作用 |
| 一致性读 | 按读视图读取可见版本 | 隔离级别、首次读取与自身修改 |
| 锁定读 | 读取并按语义获得相应锁 | 显式事务、访问路径、记录与范围 |
| 当前读 | 针对当前可用记录的读取或修改语义 | 不能等同普通 RR 快照 |
| MVCC | 多版本并发控制 | 可见性不自动提供所有业务约束 |
| 死锁 | 事务之间形成等待环 | 检测配置、受害事务与完整恢复 |
| 锁等待超时 | 语句等待锁超过期限 | 默认只回滚当前语句,配置可能改变 |
| 唯一业务键 | 识别同一业务操作并由约束裁决重复 | 作用域、参数指纹、结果与保留期限 |
| unknown | 缺少确认提交结果的证据 | 不是成功,也不是已回滚 |
| Outbox | 与业务记录在本地事务中共同保存的待发事件 | 不等于全链路恰好一次 |
| SKIP LOCKED | 跳过已锁记录的锁定读取 | 适合特定队列场景,结果可能不完整 |
| EXPLAIN | 优化器计划与相关估计 | 不能直接当作实际延迟或磁盘读次数 |
| 执行计划回归 | 数据、统计、SQL或版本变化后路径改变 | 需要代表性数据与读写验证 |
| 复制延迟 | 副本尚未反映上游变化 | 查询为空不一定证明从未提交 |
| 观察 | 可以采取的下一步 | 不能直接推出 |
|---|---|---|
| 1213 | 明确完整事务回滚与重试策略 | 只重试最后一条 SQL 就足够 |
| 1205 | 查配置、处理当前事务并核对前序变化 | 整个事务一定已回滚 |
| 1062 | 核对冲突约束、原业务键及参数 | 一定是同一业务已经成功 |
| COMMIT 后连接错误 | 保留原身份并查询可信状态 | 订单不存在,可以换键重做 |
| 表有索引 | 检查实际计划与访问范围 | 查询一定使用该索引且没有等待 |
| HTTP/CLI成功 | 核对实际数据库状态和业务不变量 | 所有并发与故障窗口已经正确 |
实验固定单节点 MySQL 8.4/InnoDB;正常复制切换、断电持久性、备份恢复与生产压测不在已经完成的实验范围。故障名称相近时,优先核对实际阶段、错误码与数据,不用一种重试方式覆盖全部异常。