我们离启动新网站只有几天的时间,因此我们开始对开发过程进行最后的修改。虽然由于我们努力优化应用程序的每个部分,一切都运行良好,但我的合作伙伴提出了一个关于mysql数据库大小的问题以及随着时间的推移我们可能会遇到的问题。更具体地说,我们构建了类似不喜欢的功能(cfc,jquery),如果我们设法吸引大量访问者,它们可以完美地工作,这将显着增加数据库大小。
这是我们的逻辑:
- 当我们在数据库中存储IP时,每个用户只能对一篇文章投票一次(投票或投票)
- 比如说有10 000名用户来到网站并对10个帖子进行投票,这是10万个插入(通过存储过程)和我们数据库中的10万行。算上10,100或1000,你得到的图片。
票表有4个列
- typeID(voteUp = 1和voteDown = 2)
- articleID
- IP
- vCount(我们用它来计算SUM,每篇文章有多少票)
我们在这里错过了这一点吗?根据您的经验,处理此类功能的最佳方法是什么?
答案 0 :(得分:1)
我说你的方法没有错。假设您的数据存储容量不是太有限,那么您不应该长时间没有空间。
当然,每篇文章只能使用一条记录,但是当每次用户投票时需要锁定记录以进行更新时,这可能会产生瓶颈。
您可以考虑在投票表中添加日期/时间字段,以便在记录投票时存储。通过创建每个文章一行的附加表来跟踪总体投票,您可以查询比12个月更早的所有投票,相应地更新新表,并从投票表中删除旧投票。将该功能填入计划任务并完成。这样你就会丢失IP信息(在你选择的12个月或任何时间段之后),但会获得一些存储空间。