mysql数据迁移
背景随着时间的推移交易系统中的订单表越来越大目前达到500w数据。为了防止数据量过大导致的查询性能问题现将订单表进行拆分分为实时库和历史库。实时库保留近6个月的数据用于退款业务需求其余订单数据全部迁移到历史库中。方式一复制表结构与数据可通过navicat右键选择复制表结构与数据进行全量同步数据。但是该操作会锁表导致其他事务的新增、修改、删除操作都被挂起慎用方式二dbf文件方式导入导出数据可通过navicat菜单进行dbf格式导出。此操作数据完整性最高导出文件大500w数据可达到30G不锁表导出过程中可新增、修改、删除。测试500w数据导出时间30min导入时间字段映射存在问题导入失败方式三txt文件方式可通过navicat菜单进行txt格式导出。数据完整性中等导出文件不大500w数据不到1G;不锁表。测试500w数据导出时间8min导入时间约2h方式四导入导出命令推荐注意当前用于需要有该导入导出命令权限。导出时不锁T_UNION_ORDER表select * from T_UNION_ORDER into outfile b.txt;导入时锁T_UNION_ORDER_copy1表load data infile b.txt into table T_UNION_ORDER_copy1;测试500w数据导出时间1min导入时间8min方式五程序迁移推荐先插入数据到新表中再删除原表数据两组操作作为一个事务来处理。可参考以下步骤执行步骤一定时任务开启时间2点~3点 1小时内每10s触发一次同步任务。步骤二一个批次的数据量为300条1h同步10.8w条数据。insert_time 条件值取第前180天。insert_time没有创建索引走的全表扫描sql语句耗时时间和符合条件的记录条数占全量数据的百分比相关占比越大耗时越短占比越小耗时越长。因此程序上线初期一次同步任务的执行时间较短后期随着需要同步的数据越来越少sql执行的时间也越来越长。select * from T_UNION_ORDER where insert_time 2023-01-01 00:00:00 limit 300;批量进行数据插入一个批次的数据量要适中太大会导致字符串长度超长报错太小频繁访问数据库导致可能的性能问题。insert into T_UNION_ORDER_HISTORY () values (),(),();批量删除删除操作会加锁。虽然是行锁如果in的数据量太大可能会造成索引失效行锁升级为表锁。delete from T_UNION_ORDER where order_no in ();步骤三增加手工触发订单数据同步机制。

相关新闻

OC/Swift 第三方 MJRefresh(源码)

OC/Swift 第三方 MJRefresh(源码)

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络&#xff0…

2026/10/25 0:46:00 阅读更多 →
SpringBoot+Vue图书商城管理系统源码详解,适合毕设课设

SpringBoot+Vue图书商城管理系统源码详解,适合毕设课设

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 7:59:54 阅读更多 →
M5 Vision Pro真实体验:轻量AR眼镜如何融入日常生活

M5 Vision Pro真实体验:轻量AR眼镜如何融入日常生活

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 15:11:28 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/4 1:35:24 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/3 10:57:27 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/3 11:35:49 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/4 6:23:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/3 10:47:27 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/3 10:57:33 阅读更多 →

日新闻

周新闻

月新闻