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 中再进行加工转换处理。
分类:
MySQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~