我正在使用Ruby on Rails,并且有一种情况是我想知道是否适合使用某种键值存储而不是MySQL。我有用户有has_many列表和每个列表has_many单词。有些列表有数百个单词,我希望用户能够复制列表。这是一个沉重的MySQL任务b/c它将一次创建这些数百个字对象。使用多个键值存储
作为一种替代方案,我正在考虑使用某种键值存储,其中键只是单词。单词列表可以存储在mysql的文本字段中。每个列表可能是一个新的键值db?似乎以这种方式复制键值db会更快,而不是必须通过数据库。一般来说,这似乎也可能会更快。思考?
非常感谢扎克。这是非常丰富的。我想知道,为什么最好使用列表单词表?为什么不在每个单词对象中放一个list_id,然后has_many:List中的单词? – TenJack 2010-11-13 07:08:14
第二个问题:我假设在字符串上使用正则表达式会比数据库查询更快。例如,我可以使用gsub通过用空字符串替换单词来查找和删除单词。这不是一个有效的假设吗? – TenJack 2010-11-13 07:10:14
@TenJack - 对于你的第一个问题:我假设有一个单词数量有限,就像在一个标签系统中一样。当然,由于一种语言中只有这么多的单词,单词的数量是有限的。如果单词数量少于列表条目和/或您对单词进行索引或查询感兴趣,则使用列表单词表。如果列表之间的通用词很少,那么多对一会很好。 – 2010-11-13 08:34:31