该问题已被锁定!
18
关注
5300
浏览

关于用户量上万后通知表数据量暴增问题

AI智能回复搜索中,请稍后...

查看全部 7 个回答

AWSupport 初级会员 用户来自于: 广东省深圳市龙岗区
2015-09-09 14:23
可以二次开发采用数据分表算法与定期删除过期通知来解决,下个版本会增加定期删除已读通知功能
    /**
     * 定期清理已读通知
     * 
     * @param $period 周期, 单位: 秒
     */
    public function clean_mark_read_notifications($period)
    {
        while ($notifications = $this->fetch_all('notification', 'read_flag = 1 AND add_time < ' . (time() - $period), 'notification_id ASC', 1000))
        {
            foreach ($notifications AS $k => $v)
            {
                $this->delete('notification', 'notification_id = ' . $v['notification_id']);
                $this->delete('notification_data', 'notification_id = ' . $v['notification_id']);
            }
        }
        
        return true;
    }
加在计划任务里即可,一个月是 2592000 秒

关于作者

问题动态

发布时间
2015-09-08 13:37
更新时间
2015-09-10 13:28
关注人数
18 人关注

相关问题

推荐内容

张三张三张三张三
几个反馈(在邮件里提到了.)
2.5.7的问题
官方文章收藏功能失效了
Anwsion 1.1 beta 3 话题首页无法显示
关于分类和话题标签的建议
这BUG。。。当设置SMTP发邮件,点再次发送邮件确认信没提示框来,这样用户会乱按无数次啊。
为什么别人的回复自己的问题会导致自己积分减少?
【寻找BUG】2.5.8 个人资料页面 显示的数据,是图片的替代代码
活动,众筹功能的支付接口在哪里设置啊?支付功能,怎么好像默认是不能用的?