我有一个网站,人们可以在那里发表帖子和评论。我想做一个新的评论通知系统,这样当用户登录时,他可以看到许多新的评论到他的帖子。
我的想法是添加一个' read‘表,我将在其中存储user_id和comment_id (意思是user_id read comment_id)。但是,当表变大时,这可能会造成一些性能问题。
实现这一点的最佳方式是什么?
发布于 2011-03-17 00:00:14
要做到这一点,一种方法是保存一个创建日期,用于发布和评论,以及用户的“上次访问”日期(或“用户上次单击"show me new post”“链接)。
然后,您只需要获取日期比您在用户表中找到的日期更新的所有帖子和评论即可。
发布于 2011-03-16 23:59:56
只存储未读评论的用户和评论ID如何?然后,当用户阅读评论时,您可以从表中删除该行。
发布于 2011-03-17 00:01:55
将post时间存储在activity表中,然后查找用户的最后一次活动(再次将值存储在users表中)不是更好吗?然后,您可以执行一个简单的查询:
$lastActivityTime = User->GetLastActivity();
$result = mysql_num_rows(mysql_query("SELECT COUNT(`id`) FROM `notifications` WHERE `postTime` > '$lastActivityTime'"));祝好运!
https://stackoverflow.com/questions/5327987
复制相似问题