千家信息网

优化系列 | 游戏数据表拆分优化经典案例

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,1. 目的通过对比测试,分析某数据表tabC拆分方案前后性能对比,确定拆分方案的可行性。2. 方法对拆分方案前后两种类型进行对比测试。同时,每次测试中采用两种更新方式:1. 和原来类似,对数据表所有字
千家信息网最后更新 2026年10月31日优化系列 | 游戏数据表拆分优化经典案例

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运维开发课程,是业内最有良心、最有品质的培训课程。

更新 测试 分表 字段 数据 数据表 实际 方案 长度 培训 一次性 事务 多个 环境 结果 课程 组合 可行 很大 明显 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州大一互联网络科技有限公司 江苏根荣互联网科技 互联网品科技 猪兼强互联网科技 鑫亿盛互联网科技 宜安科技 互联网金融 齐家互联网科技有限公司 互联网科技咨询 中国互联网金融科技基金 中盈科技互联网信息有限公司 深圳前海聚择互联网科技有限公司 阿里互联网科技公司 开一家科技互联网公司需要多少钱 特约风豹互联网科技为什么扣费 上海钢联属于互联网科技股吗 容联科技互联网电商 广西科技产业互联网是什么 上海万顺科技互联网有限公司招聘 易租星互联网科技有限公司 美国五大互联网科技公司市值多少 中智农互联网科技 互联网科技作文 壹账通互联网科技 苏州互联网科技贷款公司 广西互联网科技公司 博兴的互联网电子科技公司 宝灵互联网科技有限公司 高科技互联网套路 广州有谷有贝互联网科技有限公司 科技互联网行业投资研究
0