当前位置: 首页 > news >正文

如何往MySQL中插入100万条数据?

需求

现在有一个 数据量 为100万的数据样本 100w_data.sql

其数据格式如下,截取最后十条数据

999991,XxGdnLZObA999991,XxGdnLZObA,XxGdnLZObA,2020-3-18,1
999992,TBBchSKobC999992,TBBchSKobC,TBBchSKobC,2020-9-8,2
999993,rfwgLkYhUz999993,rfwgLkYhUz,rfwgLkYhUz,2020-2-6,0
999994,GQZXukHouW999994,GQZXukHouW,GQZXukHouW,2020-9-16,1
999995,UMNjgaXtnO999995,UMNjgaXtnO,UMNjgaXtnO,2020-3-18,2
999996,WFvQNUotHQ999996,WFvQNUotHQ,WFvQNUotHQ,2020-8-13,0
999997,FrmLUUEXWf999997,FrmLUUEXWf,FrmLUUEXWf,2020-10-4,1
999998,LWVyHCGiij999998,LWVyHCGiij,LWVyHCGiij,2020-4-14,2
999999,TTXdvcnCpL999999,TTXdvcnCpL,TTXdvcnCpL,2020-5-3,0
1000000,sjCFoeKCks1000000,sjCFoeKCks,sjCFoeKCks,2020-6-26,1

我们需要将这100万条插入如下表中

CREATE TABLE `tb_user` (`id` INT(11) NOT NULL AUTO_INCREMENT,`username` VARCHAR(50) NOT NULL,`password` VARCHAR(50) NOT NULL,`name` VARCHAR(20) NOT NULL,`birthday` DATE DEFAULT NULL,`sex` CHAR(1) DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `unique_user_username` (`username`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 ;

实现

  1. 客户端连接服务端时,加上参数 --local-infile
mysql --local-infile -u root -p
  1. 设置全局参数local_infile为1,开启从本地加载文件导入数据的开关
set global local_infile = 1;

可以通过 select @@local_infile; 查看开关是否开启,为0没开启,为1开启

  1. 切换到自己的数据库下,并根据上面的建表语句创建 tb_user 数据表

  2. 执行load指令将准备好的数据,加载到表结构中,这里要100w_data.sql数据样本放到 /root 目录下

load data local infile '/root/100w_data.sql' into table tb_user fields terminated by ',' lines terminated by '\n' ;

解释上面的sql语句 – 先指定文件所在位置 ‘/root/100w_data.sql’ ,再指定要插入的数据表 tb_user ,fields terminated by ',' 是指每个字段之间根据 逗号 进行分隔,lines terminated by ‘\n’ 表示每行数据根据 换行 进行分隔,这要根据具体的数据样本格式各改变

结果

在这里插入图片描述
看到成功插入100万条数据,而且耗时 13.10 秒,如果 使用批量 insert ,耗时需要达到 10 分钟

因此如果是大批量数据插入,需要使用 load 而不是 insert

http://www.lryc.cn/news/98144.html

相关文章:

  • IntelliJ IDEA 2023.2 最新变化
  • 1300*B. T-primes
  • 重新C++系列之运算符重载
  • kotlin异常处理try-catch-finally
  • Pytorch在cuda、AMD DirectML和AMD CPU下性能比较
  • 哈工大计算机网络课程局域网详解之:交换机概念
  • Jenkins Pipeline的hasProperty函数
  • 芯片制造详解.净洁室的秘密.学习笔记(三)
  • 可解释的 AI:在transformer中可视化注意力
  • k8s Webhook 使用java springboot实现webhook 学习总结
  • JS逆向之猿人学爬虫第20题-wasm
  • 【双指针优化DP】The 2022 Hangzhou Normal U Summer Trials H
  • [论文笔记] LLM数据集——金融数据集
  • 在亚马逊平台,如何有效举报违规行为?
  • 深度学习入门教学——神经网络
  • 阿里Java开发手册~OOP 规约
  • 【Mysql数据库面试01】内连接 左连接 右连接 全连接
  • 事务隔离:为什么你改了我还看不见
  • 吴恩达ChatGPT《LangChain Chat with Your Data》笔记
  • https和http有什么区别
  • 振弦采集仪及在线监测系统完整链条的岩土工程隧道安全监测
  • linux基础学习
  • android 前端常用布局文件升级总结(二)
  • Linux复习——基础知识
  • 【数据结构】实验三:链表
  • 第4集丨webpack 江湖 —— loader的安装和使用
  • 【Lua学习笔记】Lua进阶——协程
  • 亚马逊云科技纽约峰会,充分释放数据价值和生成式AI的潜力
  • 什么是 web3?
  • [驱动开发]字符设备驱动应用——点灯