php - 使用Mysql + PHP实现的投票系统(带账号)性能

标签 php mysql voting-system

我目前正在创建一个投票系统,其中包含好的和坏的评论选项。基本上,这个想法就像 facebook 的想法,但有一个糟糕的评论选项(或更多)。这是表结构

id | comment_id | voter_id | voter_option 

所以,一旦用户投票了,就会在mysql数据库中以上述格式存储一条记录,我之所以这样做是因为我不想让用户重新投票,想记录他们的内容喜欢/不喜欢。

我的问题是,我认为,如果我的网站上有 10,000 条评论,并且每条评论获得 1,000 票,那么我的数据库就会变得非常大,是否有什么好的方法(可能是示例)来防止数据库变得太大?或者我需要为我的案例中的每条评论创建一个表格,在此先感谢。

最佳答案

您的评论表是什么样的?如果有很多帖子,数据库只会变大,如果您正确查询并且您的表大小合理,则表中的 10,000 个条目对于 mysql 来说是 child 游戏。

在性能方面,当有人喜欢/不喜欢评论时,您可以计算所有投票并将该值存储在评论行中,这样当您查询评论时,您将获得它最后知道的喜欢/不喜欢计数,并且不必在每次查询评论时都进行计数。

编辑:我应该补充一点,确保你的索引是整数(根据它们的列名判断)并且你使用外键来限制数据。使用外键,您可以保持表的清洁,例如,如果有人删除了一条评论,您可以告诉您的表根据该 ID 删除级联,以便删除评论,该评论的所有投票都会从其他评论中删除 table 。 http://en.wikipedia.org/wiki/Foreign_key

关于php - 使用Mysql + PHP实现的投票系统(带账号)性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6035070/

相关文章:

mysql - 使用 DENSE_RANK() MySQL 缺少右括号

iphone - 如何在我的应用程序中添加新的Yotube的“增加票数”和“减少票数”功能?

sql - 赞成票和反对票投票系统的数据库结构

php - 由于数据未插入数据库,无法回显网站

PHP JSON 不显示 MySQL 结果

mysql - 无法访问字符串类型值的字段 google bigquery

mysql - 需要 count 返回 0 但没有空结果

php - 投票系统和 PHP session 不工作

javascript - WinSCP 刷新 PHP 代码库?如何使用 XMLHttpRequest 发送文件后刷新服务器

php - 单击 <a> 链接时如何设置 session 变量