2012-05-25 92 views
0

我的問題是我有一堆'對象'。這些對象可以有最多3個單詞的列表,也可以沒有。對於mysql我已經有一個每個對象的行,我試圖找出如何合併單詞。這裏是我的方法:不同大小的列表

1:我有3個額外的列每個單詞。當沒有3個單詞時,這雖然留下空的,還原單元格。

2:有1列,每個單詞由該列中的空格分隔。當沒有詞並且需要額外處理時,這留下冗餘單元格

3:製作另一個表格來保存帶有引用其相應對象的引用號碼的單詞。這需要額外的查詢,但在我看來是冗餘度最低。

建議?

回答

0

我總是會使用額外的表格去#3。這確保將來如果您需要在所有對象上使用SQL執行任何「Word」搜索或更改結構以添加更多單詞或減少單詞,那麼不會出現任何打嗝。另外,這些額外的查詢通常對於RDBMS服務器來說是非常小的負擔。此外,所有其他選項還需要PHP的某些處理(假設它是編碼語言),這也會消耗一些CPU週期。但是由於#3將來會很好地擴展,所以我寧願選擇#3。

+0

表(id_object,id_word)謝謝大家了放心! :) – user1415803

0

號#3名爲字(id_word,字),並命名爲object_words其他表InnoDB表型科西嘉的可以肯定的完整性