博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

MySQL 数据装载 vs 数据插入

原文mysql load用法 - 墨天轮 (modb.pro)

打开my.cnf 或 my.ini,加入 secure_file_priv='' ,重启mysql。
 secure_file_priv 为 NULL 时,表示限制 mysqld 不允许导入或导出。
 secure_file_priv 没有值时,表示不限制 mysqld 在任意目录的导入导出。

测试数据:

1
2
3
4
根据控制变量法,看行数1 和 行数5 的数据量(mysql_data_count),同样插入近 40 万条记录,
插入模式 jdbc 单个连接,大约 需要 39761 秒,而 load 装载模式 只需要 24 秒,
即使"自动-批量提交"优化了快十倍,按 3976 秒算,也是 66 分钟,耗时是 load 模式的160 多倍,依然没有可比性。
结合将数据拉入一个 80M 的 txt 文件只耗时32s,数据装载完胜。

测试结论:load 快到飞起,什么连接池优化,自动提交-批量提交优化,MAKE NO SENSE 。

load data local infile "C:\\Users\\liuyuan\\Desktop\\SearchRelevanceFile.txt"
into table buried_point_search
character set utf8mb4
fields terminated by '`'
lines terminated by '\n';
--受影响的行: 385162
--时间: 13.592ms
select * into outfile '/home/mysql/emplouees.csv'
character set utf8mb4
enclosed by '"'
lines terminated by '\n' 
from employees limit 10;
test data:
id env event_name hbase_data_total_count data_size time_spend mysql_data_count mysql_data_total_count mysql_id_start mysql_id_endinsert_time
1 prod Search_Relevance 39249 39761965 373691 373691 1 373691 2022-07-19 09:56:58
2 prod Search_Result_Action 25312 2664998 25311 399002 -373692 -399002 2022-07-19 12:50:26
3 prod Search_Result 39355 40278666 790887 1189889 399003 1189889 2022-07-20 09:19:38
4 prod Search_Result_Action 34324 345M 3705733 34324 1198902 1189890 1224213 2022-07-21 18:23:40
5 prod Search_Relevance 41064 84M 24490 386935 1611148 1224213 1611148 2022-07-25 16:49:25

 

 

notice:

1. 默认情况下导入的顺序以文本文件 列-从左到右,行-从上到下 的顺序导入。
2. 如果表结构和文本数据不一致,建议将文本文件中的各列依次顺序编号并与表中字段建立 mapping 关系,以防数据导入到错误的字段。
3. 对于待导入的文本文件较大的场景,建议将文件 按行拆分 为多个小文件,如用 split 拆分。
4. 对文件导入后建议执行以下语句验证导入的数据是否有 Warning,ERROR 以及导入的数据量。
5. GET DIAGNOSTICS @p1=NUMBER,@p2=ROW_COUNT。
6. select @p1 AS ERROR_COUNT,@p2 as ROW_COUNT。
7. 文本文件数据与表结构存在过大的差异或数据需要做清洗转换,建议还是用专业的 ETL 工具或先粗略导入 MySQL 中再进行加工转换处理。

 

posted @   CHANG_09  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示