zoukankan      html  css  js  c++  java
  • phpcmsv9的评论分表策略

    comment_table表

    comment表

    comment_data_x表

    我们留意到:

    1. comment_table表统计每个comment_data_x表里面有多少条记录,
    2. comment表只是记录文章id和tableid,
    3. 而comment_data_x则是记录评论信息。

    实际上,v9的分表逻辑很简单,如果某个文章要新增评论,则判断comment表有无记录,有则这条记录不进行分表判断,若无记录,则判断comment_table的最后一个表是否达到了分表的条件。

    if (!$comment = $this->comment_db->get_one(array('commentid'=>$commentid, 'siteid'=>$siteid), 'tableid, commentid')) { //评论不存在
    //取得当前可以使用的内容数据表
    $r = $this->comment_table_db->get_one('', 'tableid, total', 'tableid desc');
    $tableid = $r['tableid'];
    if ($r['total'] >= 1) {
    //当上一张数据表存的数据已经达到1000000时,创建新的数据存储表,存储数据。
    if (!$tableid = $this->comment_table_db->creat_table()) {
    $this->msg_code = 4;
    return false;
    }
    }
    }

    这样做的好处也很简单,避免了同一个文章的评论分散在不同的comment_data_x表里面。

    暗夜之中,才见繁星;危机之下,暗藏转机;事在人为,为者常成。
  • 相关阅读:
    Linux系统类别
    ST-GCN基于skeleton的动作识别
    (gcc/g++)/clang/cl编译器
    羽毛球经典教材范例
    opencv批量读取图片
    十六、mysql 变量
    十五、mysql 存储过程
    十四、mysql 视图
    十三、mysql TCL语言
    十二、mysql 标识列
  • 原文地址:https://www.cnblogs.com/zenghansen/p/5315534.html
Copyright © 2011-2022 走看看