我的博客类型网站上有一个积分系统,用户可以通过不同的方式(评论/对帖子投票/对评论投票等)做出贡献来赚取积分。我将如何有效地记录用户在 MySQL 数据库中获得的所有积分。
目前我正在考虑在它自己的表中包含以下字段:
post_id,
giving_user_id,
receiving_user_id,
type,
date_added
现在,很明显,如果我的网站增长并且我有 100 万……5 亿……10 亿行,如果数据类型设置正确,这种方法和结构是否能够持续运行而无需永远运行?
我主要只是插入表格,但希望它能够在未来显示之前的 20(示例)积分奖励/扣除,类似于 stackoverflow 用户统计页面。
是否有更有效的结构对我更好?
更新信息
是的,它在功能上非常类似于 stackoverflow,一个用户每个 postid 获得一票。@Paul Gregory 重新考虑后删除receiving_user_id
可能是一个更好的主意,因为它几乎总是与帖子相关。