我目前正在创建一个投票系统,其中包含好的和坏的评论选项。基本上,这个想法就像 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/