WebMD
本页大纲

反范式(Denormalization)

缩写:无

简述

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

为何出现

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

使用场景

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

组成与要点

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

实践与应用

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

注意事项

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

对比与易混

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

信号与度量

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

关联术语

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