首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是使用null还是使用单独的表?

问是使用null还是使用单独的表?
EN

Database Administration用户
提问于 2020-08-02 03:16:38
回答 1查看 1.6K关注 0票数 4

我可以有一个可空字段,也可以进行基本的规范化,有另一个表,它可以或不连接到这个表中的一行。

我的直觉是使用第二种方法,因为这是处理这一问题的“正确”(正常化)方式。然而,考虑到这一点,它可能有缺点。

  • 整个实体在其表中是不可见的(您必须先找到,然后跳转到它的链接表)
  • 你现在必须记住加入这张桌子(S)
  • 它可能导致表的负载和负载(我不知道这是否会影响性能)

你通常做什么?是否值得为实体创建一个可选属性的新表?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2020-08-02 03:29:02

和所有事情一样,答案是“视情况而定”。

更多的表<>是坏的,如果这些表是必要的,适当的规范化。将可空列拆分出去是我经常做的事情,但并不总是这样。我的决定有哪些因素是这样的:

  1. 该列多久一次为空?如果它很少被填充,那么将它作为一个可选列实现为自己的表可能是有意义的。这在您需要定位某些记录的任何时候都像一个筛选过的索引。
  2. 可选栏目(S)的上下文是什么?如果这是您在以后的事件发生之前不会拥有的信息(传送/支付信息等),那么从逻辑上讲,将它与父表分开实现可能更有意义。
  3. 如何访问数据/父表有多宽?我经常处理来自供应商的摘要数据,这些数据会产生非常宽的表,其中包含大量的空值。我通常会将每个列分割成自己的表,以加快只需要一小部分数据的临时查询。
票数 6
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/273052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档