MySQL如何快速批量插入1000w条数据

news/2024/11/16 14:31:15/

听说有个面试题是: 如何快速向mysql中插入1000w条数据?

我私下试了一下, 发现插入10000条数据用了0.9s, 插入10w条数据用了4.7s, 插入100w条数据用了58s左右,1000w条数据,我的笔记本吭哧了5分钟,自己停了, 心中1000w只草泥马呼啸而过,我用的是下面的代码:

-- 进入数据库
use test;
-- 显示所有表
show tables;
-- 创建majors表
create table majors(id int, major varchar(255));
-- 定义结束符$
delimiter "$";
-- 创建存储过程,定义存储方法
create procedure batchInsert(in args int)
begin
declare i int default 1;
-- 开启事务(重要!不开的话,100w数据需要论天算)
start transaction;
while i <= args do
insert into majors(id,major) value(i,concat("软件工程-",i));
set i = i+ 1;
end while;
commit;
end
-- 调用函数,生成数据
-- 先生成10w条试试,同时输入$, 回车执行
call batchInsert(100000);

生成10w条数据,用了4.44秒

在这里插入图片描述

生成100w条数据用了58.62秒,差不多1分钟

在这里插入图片描述

生成1000w条数据, 屏幕前的大佬可以去试一下, 哈哈, 我 Ctrl+C把进程kill了!

在这里插入图片描述


以下追加内容(非原博客所有)。

在实测过程中可以查看运行的存储过程。

 show processlistkill id


http://www.ppmy.cn/news/735687.html

相关文章

使用随机算法产生一个数,要求把1-1000W之间这些数全部生成。

使用随机算法产生一个数&#xff0c;要求把1-1000W之间这些数全部生成。&#xff08;考察高效率&#xff0c;解决产生冲突的问题&#xff09; 代码虽然实现了。 提高效率的地方有如下&#xff1a; 1.初始化set集合的时候 Sets.newHashSetWithExpectedSize(value)&#xff0c;…

1000W纯正弦波逆变器方案资料EG8010源代码KA3525原理图图纸PCB

1000W纯正弦波逆变器方案资料EG8010源代码KA3525原理图图纸PCB id657880186786&

MySQL快速生成 1000W 条测试数据

好记忆不如烂笔头&#xff0c;能记下点东西&#xff0c;就记下点&#xff0c;有时间拿出来看看&#xff0c;也会发觉不一样的感受. 目录 1、生成思路 2、创建普通表及内存表 3、创建函数 4.创建存储过程 5、调用存储过程 6、插入普通表中 1、生成思路 利用mysql内存表插…

mysql中导入1000W条数据,哪种方式比较快

前言 背景 今天被妹子问到一个问题&#xff0c;往mysql中导入1000W条数据&#xff0c;哪种方式比较快&#xff0c;我居然被问到了&#xff0c;说实话我还真心不知道。 那就找数据呗&#xff0c;搞数据研发的好处就是&#xff0c;数据肯定是很多的&#xff0c;正好还有测试集群…

MySQL批量插入1000w条数据

一、概述 在一些实际的测试、运维过程中&#xff0c;往往需要向数据库插入大量数据&#xff0c;利用存储过程是一个不错的选择 本次采用MySQL5.7&#xff0c;模拟实际批量插入1000w条随机数据 二、创建库 mysql -uroot -p密码create database bigdata;use bigdata三、创建表 …

MySQL线上环境单表1000w数据增加字段怎么玩

http://www.gameboys.cn/article/163 向一个 1000w 数据的线上业务表里新加字段&#xff0c;怎么操作&#xff1f; 本地测试及正确解决方案&#xff1a; 1.准备测试环境 MySQL 测试环境 系统&#xff1a;Linux centos 6.8 内存&#xff1a;2G 内存 CPU:2 核 CPU 硬盘&…

如何从数据库加载1000w数据

这篇文章主要讲解 如何从数据库加载1000w数据 加载大量数据 例子&#xff1a;将1000w的数据从数据库导入到redis中 在mysql中的实现方法&#xff1a;1、limit 分页 2、游标 limit 分页 问题&#xff1a; 当offset很大时&#xff0c;mysql需要做大量的文件排序操作&#x…

Mysql 数据库 第十六节 存储过程 1000w 数据的插入

存储过程 1. 一组 可编程的函数&#xff0c; 是为了完成特定功能的 SQL语句集 储存过程就是具有名字的 一段代码&#xff0c;用来完成特定功能 2. 为什么要是用 存储过程 将 重复性很高的一些操作&#xff0c;封装到一个存储过程中&#xff0c; 简化了 对这些 SQL 的调用 批量…