0

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

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

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

3:制作另一个表来保存带有参考编号的单词,该参考编号将其引用到相应的对象。这需要一个额外的查询,但我认为冗余度最低。

建议?

4

2 回答 2

0

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

于 2012-05-25T12:40:21.050 回答
0

编号 #3 有一个名为words (id_word,word)的表和其他名为object_words (id_object,id_word)的表,它们具有 innodb 表类型,以确保完整性

于 2012-05-25T12:49:54.140 回答