phpcms v9版本的评论分表策略说明

comment_table表comment表comment_data_x表我们留意到:comment_table表统计每个comment_data_x表里面有多少条记录,comment表只是记录文章

phpcms v9的评论分表策略说明

comment_table表

phpcms v9版本的评论分表策略说明

comment表

phpcms v9版本的评论分表策略说明

comment_data_x表

phpcms v9版本的评论分表策略说明

我们留意到:

comment_table表统计每个comment_data_x表里面有多少条记录,

comment表只是记录文章id和tableid,

而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表里面。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《phpcms v9版本的评论分表策略说明》
文章链接:https://qqooo.cn/html/1983.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
本站资源均来源于网络,若侵犯您的权益,请来信 Feelym@88.com 删除!