优化系列 | 游戏数据表拆分优化经典案例
admin
2023-05-30 00:00:02
0

1. 目的
通过对比测试,分析某数据表tabC拆分方案前后性能对比,确定拆分方案的可行性。


2. 方法
对拆分方案前后两种类型进行对比测试。
同时,每次测试中采用两种更新方式:
1. 和原来类似,对数据表所有字段的更新分多次
2. 对数据表所有字段的更新一次性完成


3. 环境
本次测试采用线上实际数据导入。tabC表共有132万行记录,全表共100G。
将所有字段重新组合,确保每个分表的实际行长度不高于8KB,拆分成3个子表,大小分别是:
tabC_1.ibd 796M
tabC_2.ibd 10.2G
tabC_3.ibd 8.4G

之后再进行全表随机更新,每轮测试都在脚本中并发调用存储过程来完成,最大10个并发进程。
每次测试之前都重启mysqld,且无其他额外压力,确保环境公平。


4. 结果


全表分表
多次update02:56:4900:16:06
一次update00:54:0200:08:56


5. 结论
从测试结果很明显看到,分表后的并发更新效率远比比分表前高,而且,如果对tblC表的多次更新能合并到一起的话,更能获得很大提高。

因此建议:
1. 对类似tblC表的其他表实施同样的拆分方案;
2. 对数据表的更新最好一次性完成,而不是多个字段分多次,将一个事务变成多个事务;


分表原则:
1. 从原表中分离出text字段;
2. 将分离出的text字段重新组合,确保每个分表的实际行长度不高于8KB;
3. 可能的话,不使用text,实际长度小于255的,直接转成varchar;


--------------------------------------分割线--------------------------------------

知数堂 (http://zhishuedu.com)培训是由资深MySQL专家叶金荣、吴炳锡联合推出的专业优质培训品牌,主要有MySQL DBA实战优化和Python运维开发课程,是业内最有良心、最有品质的培训课程。

相关内容

热门资讯

科创工艺革新外墙建造,中建八局... 科教兴国浪潮奔涌,智能建造赋能育人阵地。由中建八局承建的中国劳动关系学院涿州校区新建教学实验楼和学生...
苹果夺上半年全球高端智能手机销... 【CNMO科技消息】8月6日,Counterpoint Research发布最新手机机型销量追踪报告...
市市政设施处部署防台风防汛暨安... 针对今年第13号台风“白海豚”(超强台风级)逐渐向我国东南沿海靠近的气象形势,按照全省防汛防台风工作...
家里下水道堵了,用管道疏通剂好... 一般来说,家里的下水道因为使用时间长而堵塞,导致了一些问题,这是一件很烦人的事。有人用疏通剂来解决下...
厨房堵了怎么办疏通有妙招 下水道里面存满了水,用皮塞子用力下压,然后猛力一提,这样就会形成一定的压力及抽力,有可能会把堵塞的杂...
厨房水池的下水道堵了怎么办 由于厨房排水中含有大量动、植物油污,其中油分子与洗涤剂、盐等金属粒子反应,并随温度降低逐渐附着在管道...
厨房下水道疏通上门多少钱 虽然上门疏通下水道需要一定的费用,但它可以帮助我们解决厨房下水道堵塞问题,保证家居的卫生和生活的顺畅...
原创 地... 老话说,世间万物相生相克。有猛虎捕食就有草木繁茂,有细菌横行就有青霉素克敌,整个生态系统之所以能够平...
vivo S2手机正式发布 配... 【CNMO科技消息】8月6日,vivo S2正式发布,售价为:8GB+128GB版本39999印度卢...
市民想进爱心献血屋躲雨被拒?官... 关于网络反映群众未能进入原平献血屋避雨的舆情回应原平献血屋是忻州市中心血站在原平城区专设的献血服务网...