我制作了一个足球系统,我参加了一个团队玩过的所有比赛结果,每场比赛的参赛者,如果你得分,你的个人资料中得分+ 1。
现在看起来像这样的结构:
users:
ID - Name - Games - Wins - Losses - Goals - Assist - 2min
event:
ID - opponents - Results - UserID
Participants
ID - UserID - EventID
我想知道这是否真的是最好的方式,我发现这个问题就是你无法看到谁在哪个游戏中得分,因为我只用目标中的+ 1来更新用户表。所以现在我想到这样的事情:
users:
ID - Name
event:
ID - opponents - Results - UserID
Participants
ID - UserID - EventID - Games - Wins - Losses - Goals - Assist - 2min
这里的好想法是我可以看到哪个球员在哪个比赛中得分,这真是太好看了!但是在userprofile中,我必须使用我们正在查看的当前用户的UserID计算来自参与者表的所有目标,所以问题是,如果我在参与者中有大量帖子,那么运行该查询需要很长时间?
感谢您提供意见。
更新:
让我说我使用第二个选项并想要计算它们。
$query = "SELECT count(assist) as aassist FROM `participants` WHERE `mid`='$q'";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
while($row = $result->fetch_assoc()) {
echo $row['aassist'];
如果通过PHPadmin手动计算,我在这里得到一个完全错误的数字。
答案 0 :(得分:0)
除非您拥有数千亿条记录,否则不会出现任何性能问题,只需将其从参与者表中删除即可,所以我会采用第二种方法。