现在需要对以往数据进行整合并进行数据迁移
确定目标表
数据源及数据量如下
目标表与 Z0_工单_整理备份 的字段是一致的。为了方便后续操作(增删改查、数据迁移、增量备份)需要新增几个字段
1、 id 作为主键,方便更新、删除等修改操作
2、 inserTime 数据插入时间,记录更新频次
3、 updateTime 时间戳,记录最近一次更改时间,方便后期数据迁移、增量备份
4、 source 数据来源,方便后期数据溯源及数据维护
确定好目标表字段后将原始表内的字段进行一一对应。
字段映射
1、字段分类
- 保留字段,不对字段做任何修改保留字段名称
- 更名字段,保留字段内容,但要对字段名称进行修改
- 删除字段,目前业务不再需要字段,删除
2、字段类型及干扰数据
数据由于历史问题,可能存在不规范的情况。
比如:时间格式内存在汉字;字符串编码格式与当前不一致。
解决思路:
- 将所有字段按照字符串进行迁移(使得数据量变大,但可以保证数据平稳迁移,迁移后需要对不规范数据进行修改)
- 进行错误处理,如果量不大,可手工将数据入库。
- 提前设置编码格式,ETL当中规范数据值类型(解决方式截图如下)
优化
1、 数据库引擎优化
更改存储引擎InnoDB-》MyISAM,数据插入速度提升一倍,亲测有效
2、查询优化
useServerPrepStmts=true
cachePrepStmts=true
3、插入优化
4、JVM 优化
根据本地计算机硬件情况,分配JVM内存,我本地是16G
5、 灵性优化
找个没人操作数据库的时段,很重要,效率提升超级明显。
-
结果展示
236w 数据不到十分钟迁移完毕,硬件再好点速度会更快。奈何本地条件有限