百独托管7500 紫田网络超高转化播放器收cps[推荐]速盾CDN 免实名免备防屏蔽阿里云 爆款特卖9.9元封顶提升alexa、IP流量7Q5团队
【腾讯云】中小企福利专场【腾讯云】多款产品1折起高防 随时退换 好耶数据小飞国外网赚带你月入万元炎黄网络4H4G10M 99每月
香港带宽CN2/美国站群优惠中客数据中心 服务器租用联盟系统移动广告平台 中易企业专场腾讯云服务器2.5折九九数据 工信部正规资质
腾讯云新用户大礼包代金券高价收cpa注册量高价展示【腾讯云】2核2G/9.93起租服务器找45互联 随时退换阿里云 短信服务 验证秒达

[技术交流] 花了15个小时,终于把落伍的帖子表分表了 [复制链接]
查看:3860 | 回复:19

1099

主题

9552

帖子

9443

积分

落伍管理

正牌猪头,别无分店

Rank: 12Rank: 12Rank: 12

贡献
7068
鲜花
762
注册时间
2004-5-12

落伍手机绑定

发表于 2016-5-28 20:29:49 | 显示全部楼层 |阅读模式 来自 中国广东茂名
落伍的帖子表已经超过30G了,单表过大造成IO压力过大。
之前试过使用存档的方式,分布式存储,这个方法效果非常明显,但是最大的坏处是,存档了的部分,无法通过搜索找到,只能访问直接的url,非常影响用户体验。
后来升级服务器之后,把存档合并了回来,因为硬件升级带来的性能提升能支撑得起来。
最近,访问速度又开始明显降低,IO压力又来了,只有再想办法降低能耗了。

目前的方案:
thread表转换成InnoDB并且是使用MySQL自动的分表功能,再加后台的主题分表功能来存档旧的主题。
post表使用Discuz的分表功能分表,再加上MySQL自带的分表来降低单个文件的大小,提升读取性能。

主要问题:表太大,在Discuz后台根本分不动,只有手动导出SQL语句来分。
具体方法就是先备份post表,然后在后台做帖子分表,然后把一部分post数据插入到新建的分表中(例如tid<10000000),注意是tid不是pid,至于为何大家仔细一想就明白了。
主的post表里面tid<10000000的记录都删掉
表分开了,但是不要忘记更新thread表里面的记录,否则查询不到分出来的内容的
update pre_forum_thread set `posttableid`=0 where `tid`>9999999;
update pre_forum_thread set `posttableid`=1 where `tid`<10000000;

详细的过程就不再一一描述了。
有中大型论坛维护需要的,欢迎找我维护,落伍优惠价。

评分

参与人数 3鲜花 +3 收起 理由
恋飞的鸵鸟 + 1 落伍有你更精彩!
腾云数据 + 1 落伍有你更精彩!
域名服务 + 1 落伍有你更精彩!

查看全部评分

装B之人必有傻B之处。
回复

使用道具 举报

1148

主题

1万

帖子

1万

积分

落伍者(四季发财)

Rank: 4

贡献
1002
鲜花
51
注册时间
2008-6-9

落伍手机绑定

发表于 2016-5-28 20:33:09 | 显示全部楼层 来自 中国云南红河哈尼族彝族自治州
如果早期的数据小的话,可以直接在后台分表么?
回复 支持 反对

使用道具 举报

1099

主题

9552

帖子

9443

积分

落伍管理

正牌猪头,别无分店

Rank: 12Rank: 12Rank: 12

贡献
7068
鲜花
762
注册时间
2004-5-12

落伍手机绑定

 楼主| 发表于 2016-5-28 20:33:37 | 显示全部楼层 来自 中国广东茂名
wuzhicheng 发表于 2016-5-28 20:33
如果早期的数据小的话,可以直接在后台分表么?

数据小可以,但是,数据小,分了有意义么?
装B之人必有傻B之处。
回复 支持 反对

使用道具 举报

930

主题

5万

帖子

4万

积分

落伍者(四季发财)

你可以侮辱我但不可以侮辱我头像

Rank: 4

贡献
1596
鲜花
72
注册时间
2004-6-14

QQ绑定落伍手机绑定

发表于 2016-5-28 20:44:26 | 显示全部楼层 来自 中国浙江宁波
猪头包你一天一晚得多少钱
回复 支持 反对

使用道具 举报

680

主题

7870

帖子

6359

积分

落伍者(三羊开泰)

Rank: 3Rank: 3

贡献
1314
鲜花
63
注册时间
2009-3-31

落伍手机绑定

发表于 2016-5-28 20:46:05 | 显示全部楼层 来自 中国北京
不错,学习了
今天真高兴copybbs
回复 支持 反对

使用道具 举报

3893

主题

5万

帖子

1万

积分

落伍者(四季发财)

自己理解

Rank: 4

贡献
2784
鲜花
1207
注册时间
2009-9-18

落伍手机绑定

发表于 2016-5-28 20:46:39 | 显示全部楼层 来自 中国福建漳州
暴力点 直接把一些垃圾贴删除吧
LOGO设计 50元 微信amwdhqc 暗号mjj
回复 支持 反对

使用道具 举报

1148

主题

1万

帖子

1万

积分

落伍者(四季发财)

Rank: 4

贡献
1002
鲜花
51
注册时间
2008-6-9

落伍手机绑定

发表于 2016-5-28 20:51:35 | 显示全部楼层 来自 中国云南红河哈尼族彝族自治州
crazy 发表于 2016-5-28 20:33
数据小可以,但是,数据小,分了有意义么?

这倒也是。
回复 支持 反对

使用道具 举报

487

主题

2万

帖子

9797

积分

落伍者(三羊开泰)

Rank: 3Rank: 3

贡献
684
鲜花
47
注册时间
2011-11-23

落伍者落伍手机绑定

发表于 2016-5-28 20:54:02 | 显示全部楼层 来自 中国四川眉山
搞定了 就不错  
回复 支持 反对

使用道具 举报

29

主题

3218

帖子

1万

积分

落伍者(四季发财)

QQ:8282667

Rank: 4

贡献
2861
鲜花
26
注册时间
2005-3-14

QQ绑定落伍微信绑定落伍者落伍手机绑定

发表于 2016-5-28 21:20:28 | 显示全部楼层 来自 中国天津
mysql分表是按什么来切分?
伪善的人来了又走只顾吃穿
回复 支持 反对

使用道具 举报

1099

主题

9552

帖子

9443

积分

落伍管理

正牌猪头,别无分店

Rank: 12Rank: 12Rank: 12

贡献
7068
鲜花
762
注册时间
2004-5-12

落伍手机绑定

 楼主| 发表于 2016-5-28 21:21:17 | 显示全部楼层 来自 中国广东茂名
小闲云野鹤 发表于 2016-5-28 21:20
mysql分表是按什么来切分?


HASH (pid)
RANGE (tid)
装B之人必有傻B之处。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2024-5-7 04:48 , Processed in 0.135802 second(s), 33 queries , Gzip On.

返回顶部