# 反范式（Denormalization）

### 缩写：无

### 简述

有意引入冗余或合并表，以换取读性能、简化查询或适配分布式边界。是对规范化设计的受控偏离，不是「随便重复字段」。

### 为何出现

严格范式下热点读路径 JOIN 过多，或跨库无法用外键 JOIN。

### 使用场景

读多写少列表页、报表宽表、CQRS 读模型、分片后的本地冗余。

### 组成与要点

冗余列、汇总表、宽表、缓存表；必须有一致的更新路径。

### 实践与应用

• 先量测 JOIN 成本再冗余。
• 写路径约定：同步更新、异步最终一致或重建任务。
• 冗余字段命名体现来源（如 user_name_snapshot）。

### 注意事项

• 无同步策略的冗余=定时炸数据。
• 多处真相源会引发对账成本。

### 对比与易混

| | 范式化 | 反范式 |
|--|--------|--------|
| 目标 | 减冗余 | 减连接提读 |

### 信号与度量

读延迟下降 vs 写复杂度与不一致事件率。

### 关联术语

• 范式：减冗余取向的对照
• 冗余：刻意保留的数据
• 缓存：另一种读加速
