![](/img/trans.png)
[英]Database Design: How should I store user's news preferences in MySQL database?
[英]Database Design: How should I store 'word difficulty' in MySQL?
我为Android开发了一个词汇应用程序,该应用程序在本地数据库(SQLite)中存储了约5000个单词的列表,我想找出哪些单词比其他单词难得多。
为了找出答案,我正在考虑添加一个非常简单的功能,即在屏幕上放置两个随机单词,要求用户选择难度更大的单词。 然后,将显示另一对随机单词,并且只要用户需要,就可以重复此过程。 从理论上讲,该“越难用词”的用户越多,该应用程序将能够区分难用词和易用词。
由于困难是基于所有用户的输入,因此我知道我需要在线跟踪它,以便每个应用都可以从我的网站(MySQL)的数据库中获取它们。 我不确定跟踪困难的最有效方法是什么,但是我想出了两种可能的解决方案:
1)在单词表中添加一个包含整数值的difficulty
列。 然后,对于用户查看和排序的每对单词,他/她选择较难的单词的难度将增加一个,而未选择的单词的难度将减小一个。 我可以简单地order by
该整数值order by
以获得最困难的值。
2)创建一个difficulty
有两列,表more
和less
,持有字(或ID's
的话基于每个用户进行选择的结果,以节省空间)。 我仍然不确定我将如何获得最困难的单词group by
和order by
某种组合?
第二种解决方案的好处是,我可以知道每个单词出现过多少次(包含单词的more
列中的行数+包含单词的less
列中的行数)。 这有助于进行统计,例如,如果我想找出哪个词的more
/ less
比率最高。 但这也将比我第一个建议的解决方案占用更多的空间,并且不知道它如何扩展。
您认为哪个是更好的解决方案,或者我应该考虑其他哪些解决方案?
您为此尝试了狮身人面像吗? 猜猜像狮身人面像这样的全文搜索引擎将以出色的性能解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.