我有两张桌子。
表 A:包含歌曲列表、歌曲插图、mp3 链接、标签等。
表 B:包含注册用户信息、用户 ID、用户名等。
我即将为歌曲添加星级评分系统,并希望任何注册用户每首歌曲只投票一次。
所以我最初的计划是创建第三个表并使用 JOIN:
表 C:包含歌曲 ID、总得分(所有投票的总和)、vote_count(投票数)并在 jQuery 中执行计算客户端以返回平均投票。
我认为这对于性能来说是最佳的,因为我将处理非常大的数据集。
当然,使用这种方法,我将无法防止用户随意投票多次。
因此,我的问题是,什么数据库设置最能防止作弊(即存储和检查表 C 中选民的用户 ID),而不会降低过滤/排序歌曲本身的性能,因为这是项目的关键。
我希望我把这个要求说清楚了,如果没有,我很抱歉。