不同的大小列表

时间:2012-05-25 12:30:38

标签: mysql list optimization redundancy

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

1:每个单词我有3个额外的列。当没有3个单词时,这会留下空的,还原细胞。

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

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

么?

2 个答案:

答案 0 :(得分:0)

我会一直使用额外的表去#3。这样可以确保将来如果您需要在所有对象中使用SQL进行任何“Word”搜索,或者更改结构以添加更多单词或减少单词,那么就不会有任何打嗝。此外,这些额外的查询通常对RDBMS服务器的负担要小得多。此外,所有其他选项还需要从PHP进行某种处理(假设它是编码语言),这也会占用一些CPU周期。但是,由于#3将来会很好地扩展,我宁愿选择#3。

答案 1 :(得分:0)

#3名称为单词(id_word,word)的表格以及其他名为 object_words(id_object,id_word)的表格,其中包含innodb表类型的corse诚信