·设为首页收藏本站📧邮箱修改🎁免费下载专区🔐设置/修改密码👽群雄群聊
返回列表 发布新帖

discuz x3系列帖子进行手动分表教程

520 0

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
建议post单表超过10G的,考虑分表处理。对mysql不熟悉的请直接在discuz后台操作分表……如果需要付费协助也可以直接联系飘仙 discuz x3系列帖子进行手动分表教程 系列,帖子,进行,手动,分表 不接受白嫖

以下操作可以在不中断论坛访问的情况下进行,但是由于资源使用的问题,严重建议备份数据库并且关闭论坛才进行

创建帖子分表,如
CREATE TABLE pre_forum_post_2 (
pid int(10) unsigned NOT NULL,
fid mediumint(8) unsigned NOT NULL DEFAULT '0',
tid int(10) NOT NULL DEFAULT '0',
first tinyint(1) NOT NULL DEFAULT '0',
author varchar(15) NOT NULL DEFAULT '',
authorid mediumint(8) unsigned NOT NULL DEFAULT '0',
subject varchar(80) NOT NULL DEFAULT '',
dateline int(10) unsigned NOT NULL DEFAULT '0',
message mediumtext NOT NULL,
useip varchar(15) NOT NULL DEFAULT '',
port smallint(6) unsigned NOT NULL DEFAULT '0',
invisible tinyint(1) NOT NULL DEFAULT '0',
anonymous tinyint(1) NOT NULL DEFAULT '0',
usesig tinyint(1) NOT NULL DEFAULT '0',
htmlon tinyint(1) NOT NULL DEFAULT '0',
bbcodeoff tinyint(1) NOT NULL DEFAULT '0',
smileyoff tinyint(1) NOT NULL DEFAULT '0',
parseurloff tinyint(1) NOT NULL DEFAULT '0',
attachment tinyint(1) NOT NULL DEFAULT '0',
rate smallint(6) NOT NULL DEFAULT '0',
ratetimes tinyint(3) unsigned NOT NULL DEFAULT '0',
status int(10) NOT NULL DEFAULT '0',
tags varchar(255) NOT NULL DEFAULT '0',
comment tinyint(1) NOT NULL DEFAULT '0',
replycredit int(10) NOT NULL DEFAULT '0',
position int(8) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (tid,position),
UNIQUE KEY pid (pid),
KEY fid (fid),
KEY authorid (authorid,invisible),
KEY dateline (dateline),
KEY invisible (invisible),
KEY displayorder (tid,invisible,dateline),
KEY first (tid,first)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
注:注意编码设置和mysql引擎
把帖子从主表拷贝过来
根据经验,大概1000W帖子在一般的存储里面都是能支撑的,结合自身论坛的状况,回复要是不多,估计要200W个主题就会1000W帖子
确定了就开始转移
INSERT INTO pre_forum_post_2 SELECT * FROM pre_forum_post WHERE tid<2000000;
更新thread表记录
update pre_forum_thread set posttableid=2 where tid in (select distinct tid from pre_forum_post_2 where first=1 );
删除主表重复数据
DELETE FROM pre_forum_post WHERE tid in (select distinct tid from pre_forum_post_2);
如果需要划分多个表,重复以上操作即可。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:18.119.131.178,110.185.108.71,GMT+8, 2024-5-6 17:21 , Processed in 0.206982 second(s), 69 queries , Gzip On, Redis On.

Based on Discuz! W1.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表