我有一个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