非规范化设计

规范化的最终产物是一系列相关的表,这些表构成了数据库。但有时候,为了得到简单的输出,你得连接多个表,这影响了查询的性能。在这种情况下,更明智的做法是引入一定程度的冗余,包括引入额外的列或额外的表。为了提高性能,在表中故意引入冗余的做法称为非规范化

考虑非规范化的情况

  • 大量频繁的查询过程涉及的表都需要进行连接。
  • 主要的应用程序在执行时要将表连接起来进行查询。
  • 对数据的计算需要临时表或进行复杂的查询。