我有一个会员网站,每个用户每天可以在足球比赛上下几个赌注。这个想法是将每天的点数相加,计算并在图表中显示(使用Google Chart API)。到目前为止一切都很好。每天都会为每个用户计算新的积分,并与过去几天的积分一起显示在图表上。以便用户可以在曲线或图形中查看其过去的结果。我唯一的猜测是制作一张ID为-用户名-点-圆的表格。我不希望由于构造不良的表和查询而使数据库遭受损失。
所以我的问题是:我应该如何在数据库中进行设置?
这是我现在的桌子:
表格->成员
IDFirstnameLastnameUsernamePassword
(我的虚构表)。
表格-> MEMBERS_POINTS
IDUsernamePointsRound
因此,我设置了一个查询,该查询从所需回合中获取用户得分。这是个好方法吗?这会减慢我的数据库速度吗?每个用户将进行30回合,如果有几个用户,则该表可能包含数千行。
查找帖子here,但我没有任何答案,我有一些不同的想法。
编辑
这是一个会员站点,每个注册用户都必须一次下全部60个赌注,这60个赌注在30天之内分配(我称之为回合)。每回合包括2个投注,最多6分。总得分将与每天的总冠军以及每天的获胜者一起显示。每个用户都应该能够以图表的形式查看其过去的分数。
1个用户= 60个赌注= 30天(回合。总积分和每天的积分保持在记录中。
最佳答案
这里发生了几件事。
首先,您似乎担心性能。从性能的角度来看,您提到的设计应该是不错的(尽管请参阅下文)-数据库非常擅长处理大量数据。在MySQL上,这样的设计可以增长到数百万条记录,而没有任何实际的性能问题。
第二,但是,存在设计问题。您确实应该在数据库设计上read up-它太大了,不能回答一个问题-但是您的member_points表应该链接到member.id列(假设这是主键),而不是用户名-如果用户更改了用户名,您必须更新其所有member_points记录。
关于mysql - 在数据库中保存积分历史,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15033411/