forum_post表是存储主题和回复内容的表,是discuz系统中存储内容最多的一个表。对于内容较多的大型站点来说,随着这个表的逐渐增大,已经严重影响了站点的打开速度。Discuz!系统本身已经有了帖子分表功能,但是每次都要手动操作分表,过一段时间之后主表(forum_post)变的很大。本文介绍一种通过简单修改数据表和系统程序的方法实现发帖回帖自动分表存储。
执行思路:将forum_post平均分成10份,分别为pre_forum_post/pre_forum_post_1/pre_forum_post_2/.../pre_forum_post_9,每次发帖回帖之后根据帖子tid按10取余数分别存在不同的表中。
具体执行步骤:
1、后台->全局,关闭网站。备份pre_forum_post表和pre_forum_thread表;
2、将数据库中的pre_forum_post连续复制10次,分别命名为pre_forum_post/pre_forum_post_1/pre_forum_post_2/.../pre_forum_post_9;
3、分别执行如下sql语句
delete from pre_forum_post where tid%10!=0;
delete from pre_forum_post_1 where tid%10!=1;
delete from pre_forum_post_2 where tid%10!=2;
delete from pre_forum_post_3 where tid%10!=3;
delete from pre_forum_post_4 where tid%10!=4;
delete from pre_forum_post_5 where tid%10!=5;
delete from pre_forum_post_6 where tid%10!=6;
delete from pre_forum_post_7 where tid%10!=7;
delete from pre_forum_post_8 where tid%10!=8;
delete from pre_forum_post_9 where tid%10!=9;
4、再执行如下sql语句
update pre_forum_thread set posttableid=tid%10;
5、修改系统文件source\class\model\model_forum_thread.php(修改前记得备份)
找到代码
$this->tid = C::t('forum_thread')->insert($newthread, true);
在这一行代码下方加入
$posttableid=($this->tid)%10;
if($posttableid){
    C::t('forum_thread')->update($this->tid, array('posttableid' =>$posttableid));
}
5、后台,站长,帖子分表,点击更新备注信息。
6、后台,工具,更新缓存。
修改完成!
注意此方法修改后,所有通过discuz!的帖子发布和回复功能产生的内容都是自动分表存储,但是要注意如果用了采集或其他插件发布帖子和回复请记得修改对应的程序。

Discuz!教程之大型Discuz!论坛站点帖子表forum_post分表方案优化相关推荐

  1. Discuz论坛分表以及memcache缓存优化

    http://hi.baidu.com/nopsky/blog/item/34feffef740868e1b2fb958e.html 2011-07-14 12:24 大部分的论坛在数据量达到一定程序 ...

  2. discuz!x2主题分表、帖子分表功能分析

    对于大型站点,庞大的主题和帖子数据,分表放到一个主题表和一个帖子表中,已经成为影响性能的一个因素.因此,急需进行分表操作来避免 MySQL 对于大数据表的频繁操作. 1.后台分表        Dis ...

  3. discuz misc.php慢,discuz提示misc.php?mod=patchaction=导致网站访问慢问题解决办法

    无忧主机小编平时没事的时候喜欢逛各大论坛,尤其多discuz建的论坛会特别留心一些,因为自己也玩过一段时间discuz.最近有看到一个网站,叫做"韩饭吧",也是使用discuz程序 ...

  4. php 给图片加属性,discuz教程之给帖子图片添加alt属性

    之前无忧主机小编也给大家分享一篇添加alt属性的文章:DEDECMS5.7给图片添加ALT属性提高搜索引擎友好度.今天无忧主机小编就来讲解一下给discuz中给帖子图片加上alt属性的教程,为什么无忧 ...

  5. discuz怎么改php头部,Discuz教程:修改论坛头部左方的logo图片链接

    如果说你的网站里面掺入了BBS论坛,当进入到论坛后想要切回到主站时,我们一般都会重新访问主域名.大家有没有注意到,在论坛头部的这个logo图片,点击会跳到默认的网站链接,那么我们可不可以通过一些方法让 ...

  6. dz安装教程php,discuz论坛安装教程 2017最新discuz论坛安装教程

    对于不懂开发的,然而又想要有一个属于自己的论坛,这完全是可以实现的,discuz可以帮助我们,只要懂得怎么安装discuz,是可以运行起来的,下面的教程就是讲解如何安装discuz论坛, ,首先Apa ...

  7. Discuz!教程之帖子摘要(简介)截取函数messagecutstr()详解

    当我们在二次开发Discuz的时候,经常需要调用帖子的摘要或者简介,这里可以使用Discuz自带的内容处理函数messagecutstr()来处理: 函数定义位置:\source\function\f ...

  8. Discuz(社区动力)论坛伪静态规则

    2019独角兽企业重金招聘Python工程师标准>>> 本文意在解决Discuz(社区动力)论坛开启伪静态的设置问题. Discuz(社区动力)论坛官方伪静态规则: # 将 Rewr ...

  9. discuz 生成静态html,Discuz论坛静态化设置方法

    URL静态化可以提高搜索引擎抓取,Discuz论坛程序是如何实现URL静态化的呢? 为给大家提供发布问题.解决问题.分享经验的平台,本站现已开启经验交流区(基于Discuz论坛程序). 刚使用Disc ...

最新文章

  1. HttpServletResponse对象(一)
  2. 基于计算机视觉的构件表面缺陷特征提取
  3. hibernate树
  4. AcWing 211. 计算系数
  5. python程序分析,用Python编写分析Python程序性能的工具的教程
  6. itop 安装时碰到的Missing PHP extension mysqli soap ldap
  7. 看电影(movie):组合数
  8. 本质矩阵 基础矩阵 单应矩阵 (1)
  9. 无本经营?2021做电商跨境shopee平台赚钱很轻松!
  10. STC12C5A60S2 红外遥控 LCD显示
  11. java 按钮响应回车_swing 设置回车响应按钮的方法
  12. 为什么要做访问学者?
  13. word2013怎么去掉所有文字下面的波浪线
  14. 用Python可以解决的数学问题,探究代数、统计、几何、概率等
  15. 谈谈我当韭菜的投机经历
  16. 2021年河南高考--各高校在河南录取分数线预测(本科二批——理科)
  17. 三大运营商问题反馈或投诉——移动/联通/电信 ,另附一堆使用电话
  18. cad字体安装_免费的CAD字体去哪找?下载之后如何安装?1分钟教你搞定
  19. 自动驾驶出租车(Robotaxi)商业化前景展望
  20. 2019年中升学季3K-4K预算笔记本电脑推荐

热门文章

  1. 米筐开源量化框架 RQalpha 安装使用
  2. TCGA数据下载方法简介
  3. SDN 岗位轮换实验报告
  4. keras中EarlyStopping
  5. js函数求两个数的和
  6. Velocity使用示例
  7. IOS11 弹窗上文本框光标错位问题
  8. 恒指怎么开户?恒指交易原则?
  9. 能独步天下吗?揭开至强E5处理器的最后面纱
  10. 三星270E5K-X0D黑苹果安装教程