我有一個Lexicon模型,我希望用戶能夠爲每個詞典創建動態特徵。動態搜索字段,最佳實踐?
而且我有一個複雜的搜索界面,讓用戶搜索每個單一特徵(包括動態特徵)都屬於Lexicon模型。
我本來可以使用序列化的文本字段來保存所有的動態信息,如果他們不是用於搜索。
如果我想讓用戶搜索所有字段,我創建了一個DynamicField模型來保存所有動態創建的特徵。
但假設我有1,000,000,000個詞典,並且如果爲每個詞典創建一個動態特徵,則這將導致在DynamicField模型中創建1,000,000,000行。
因此,SQL搜索功能會變得相當低效,而很多動態功能創建。
對這種情況有更好的解決方案嗎?
我應該採取哪種方式?
尋找一個更好的數據庫設計,動態字段
嘗試調整MySQL的(加緩存字段,添加索引...)與當前數據庫設計
1.你的數據庫表(或Rails模型)現在看起來如何?也許代碼快照? 2.你想支持哪種查詢? (等於,在,不在,像,大於等) – 2010-05-12 09:11:56
你可能想要的設計模式是:http://en.wikipedia.org/wiki/Entity-attribute-value_model – DJTripleThreat 2010-05-12 12:20:23
普通的,類型我想實現的搜索類似於LIKE,不到,大於,大於,等於,不在 – boblu 2010-05-12 14:20:16