gpt4 book ai didi

mysql - 自联接是否会比多表联接带来更高的性能损失?

转载 作者:行者123 更新时间:2023-11-29 06:20:02 25 4
gpt4 key购买 nike

当我询问数据建模问题的正确方法(使用一两个表)时,一些用户回答说自连接会带来性能负担。考虑到以下场景(MySQL 数据库),这是真的吗:

  1. 该模型适用于问答网站,其中问题和答案存储在同一个表中,由 TypeId 列表示。
  2. 一个问题可以有多个答案;可以被很多用户收藏、投票。
  3. Q 和 As 有自己的评论

另一种方法是在各自的表中对问题、答案和评论进行建模,从而避免自连接。我尚未决定使用哪种方法。虽然问题与连接性能有关,但如果您对这两个用例有任何其他建议,我们将不胜感激。

谢谢

最佳答案

您应该将问题和答案放在单独的表中,这并不是特别从性能角度来看,而是因为它们在逻辑上是不同的事情,否则会令人困惑。

从性能角度来看,没有特别的原因说明单个自连接会很慢 - 我怀疑您正在考虑的问题是您是否需要递归查询,这在 MySQL 中很慢。

此外,关于性能,您的设计意味着您的 key 由两个字段组成,而不是一个字段,因为您需要在条件中指定您想要问题还是答案。较宽的 key 需要更长的时间来比较 - 这不是一个严重的问题,但在某些情况下可能会有所不同。

关于mysql - 自联接是否会比多表联接带来更高的性能损失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4303566/

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