SQL最佳实践,是一个值得创建新表的小型不可更改数据集吗?

时间:2016-08-26 17:14:13

标签: sql sql-server

这是基于数据集值(内容列)永远不会改变这一事实做出决定的方案。在第一个表中,即使字符串文本会一遍又一遍地重复,是否仍然值得创建一个新表(这是该应用程序独有的)并且必须依赖于连接?如果是或否,为什么?

我过去曾多次经历过这种情况,并且总是选择分解表格。但是,我仍然不完全相信,所以决定最后问。

图书表格选项1

enter image description here

图书表格选项2

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

从简单的角度来看,当您第一次看到选项1时,选项1是最简单的。但我认为这不会受到最小的审查。

选项2是正确的方法。为什么呢?

  1. 这是标准规范化
  2. 通过使用正确大小的外键,可以最大限度地减少数据页占用的内存量,并使索引更小。这允许在内存中进行更多数据缓存。
  3. 如果有人想要重新命名封面怎么办?选项2在大型数据集中显然更优越。
  4. 关于总是让表加入的担忧......这就是视图所做的事情。编写视图,永远不要担心底层数据结构。