我希望你在项目中提供帮助。我想设计多语言闪卡数据库。这为大量用户服务;每个用户可以拥有任意数量的卡片(单词)。为了统计目的,我必须存储每张卡片(单词)的所有学习历史记录。
假设我们有50万用户,每个用户有10000卡(字);每个单词有大约100条记录(例如,如果答案是真或假)。存储此历史记录的示例方法是使用下表:
USER_ID,Word_Id,日期,Answer_Type
但是这张表将通过大量的记录,大约500亿条记录。 有没有一种有效的方法,它不会影响查询时间。
答案 0 :(得分:0)
我们团队中的一位建议: (1)使用XML并将其存储在数据库中。作为XML数据类型 (2)将用户的单词划分为小组(标题),一组中约20张卡片。卡片表示:正面有一个单词,背面有意思。 (3)使用word的属性(XML属性)来存储所有历史条目。
例:
<Group>
GroupNo:01
TotalCards=20
……
<Card>
CardNo=1;
FrontWord=EnW98347;
BackWord=CnW7536;
History=20180301,1 + 20180315,0 + 20180330,1;
……;
……;
</Card>
……;
<Card>
……;
</Card>
</Group>
其中:20180301,1 =日期,真或假。
但我认为这个过程在查询中可能需要更多时间。我们还需要更多的存储空间。 有关此
的任何建议或意见