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

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

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 人关注

相关问题

装好之后,点击通知页面直接跳到了404,文件也在目录下啊,为什么呢?
关于微信菜单和输入框问题
关于在非utf-8编码的ucenter下用email地址登入造成中文用户名变成空的问题
关于打通微信公众号的3个问题?
关于反映后台不能登陆或者登陆无效的情况。
关于微信登陆配置的问题?
关于匿名用户?
关于anwsion的建议
关于Ajax分页
关于搜索的问题?

推荐内容

文章编辑Bug
WeCenter网站二次开发会很麻烦很贵吗?使用wordpress新建是不是更实惠办法?
3.0发起问题页publish.js报错
系统bug,邀请回答不管用啊
后台老是自动退出?
后台用户管理》用户组》特殊组,跳转错误!
BUG一枚:评论使用快捷键的时候会造成发送两个评论
我的站点突然变成只有注册会员才能查看内容。。。。这个应该怎么改?
discuz 2.4转换程序不能转换头像
再提两个文章合并到发现列表展示后还存在的几个i遗漏