gpt4 book ai didi

mysql - 存储相同的信息两次还是在外键上加入?

转载 作者:行者123 更新时间:2023-11-29 13:18:01 24 4
gpt4 key购买 nike

假设我有一个名为“child”的表,其中包含引用另一个名为“parent”的表的外键。如果父表包含我在从子表中进行选择时经常想要访问的列值,那么最好是在外键上联接表还是将我经常从父表访问的列存储在子表中.

有时,我还有第三个“孙”表,它引用子表,并希望混合所有 3 个表中的信息。三重 JOIN 似乎让我把它变得过于复杂了。

我觉得有更好的方法来解决这个问题。如果有人对这个主题有建议或一些好的资源,请告诉我。

最佳答案

这个问题是基于过早优化,这是不好的。

您正在谈论denornalization ,只有在存在真正且紧迫的性能问题时才应该这样做。虽然你的想法听起来很诱人,但它几乎总是一个坏主意,因为:

  • 您这样做只是出于性能原因,但数据库速度相当快 - 无论如何您都不太可能受益
  • 非规范化会带来复杂性 - 如果更改子值,则必须保持父值中的值更新。这是一个很大的麻烦(这里不详述)
  • 您甚至不知道是否存在性能问题:如果没有损坏,就不要修复它

关于mysql - 存储相同的信息两次还是在外键上加入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21222082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com