gpt4 book ai didi

mysql - 性能更高——两张表或一张

转载 作者:可可西里 更新时间:2023-11-01 07:56:27 25 4
gpt4 key购买 nike

我需要对几百万个标题进行比较,以了解交集和差异。

数据看起来像这样:

Title        Platform
Terminator 1
Terminator 2
Abyss 1

我想找出诸如“显示平台 1 上的所有标题,但不是 2(“深渊”)”,“显示两个平台上的所有标题(“终结者”),显示我所有在平台 2 上但不在平台 1 上的标题(NULL)。

我只有两个平台要比较,1和2。我应该把所有的数据存储在一个表中,还是存储在结构相同的两个单独的表中?哪个会提供更好的性能?

最佳答案

如果这是您必须回答的三个问题,并且您必须快速回答它们,那么我会建议不太规范化的路线:

  • 职位
  • IsPlatform1
  • IsPlatform2

(当然,如果每个平台都有额外的信息,这种可能性就小了。)

每个标题有多个行,您将不得不使用group byjoin 将数据放在一起来回答您的示例问题。有了一行中的数据,您可以使用索引查找轻松回答这些问题。

“缺点”——如果是的话——是一个操作是一个insert现在将是一个update。实际上,MySQL 有非常方便的 insert 。 . .重复键更新语法可以很好地处理这种情况。

如果你的数据结构实际上比问题中的要复杂得多,这可能不可行。我对非规范化的态度基本上是保持数据规范化,除非有充分的理由。您的三个示例查询提供了一个很好的理由,假设需要针对它们优化性能。

关于mysql - 性能更高——两张表或一张,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21344263/

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