【问题标题】:Varying size list不同大小的列表
【发布时间】:2012-06-01 00:57:15
【问题描述】:

我的问题是我有一堆“对象”。这些对象可以有一个最多包含 3 个单词的单词列表,也可以没有。对于 mysql,每个对象我已经有一行,我试图弄清楚如何合并这些单词。以下是我的方法:

1:每个单词我有 3 个额外的列。但是,当没有 3 个单词时,这会留下空的、多余的单元格。

2:有 1 列,每个单词由该列中的空格分隔。这在没有单词时会留下一个冗余单元格,并且还需要额外的处理

3:创建另一个表来保存带有引用编号的单词,该编号引用它对应的对象。这需要额外的查询,但在我看来冗余度最低。

建议?

【问题讨论】:

    标签: mysql list optimization redundancy


    【解决方案1】:

    number #3 有一个名为 words (id_word,word) 的表和另一个名为 object_words (id_object,id_word) 的表,它们具有 innodb 表类型,以确保诚信

    【讨论】:

      【解决方案2】:

      我总是会使用额外的桌子选择#3。这确保了将来如果您需要使用 SQL 对所有对象进行任何“单词”搜索或更改结构以添加更多单词或减少单词,那么不会有任何问题。此外,这些额外的查询对于 RDBMS 服务器的负担通常非常小。此外,所有其他选项也需要 PHP 进行某种处理(假设它是编码语言),这也会消耗一些 CPU 周期。但由于#3 将来会很好地扩展,我更愿意选择#3。

      【讨论】:

      • 感谢您的安慰! :)
      猜你喜欢
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 2019-01-16
      • 1970-01-01
      • 2017-12-26
      • 2017-09-18
      • 1970-01-01
      相关资源
      最近更新 更多