mysql生成千万级数据
1.生成数据需要的工具
- mysql
- version:8.0.25
- mysql workbench
2.生成数据的步骤
1.创建表
2.创建存储过程
3.调用存储过程
3.具体步骤
3.1创建表
create table data_test(
id int not null auto_increment primary key comment '主键',
c1 varchar(40) comment 'uuid'
) comment 'test_data';
表结构很简单,只有ID
和uuid
两列
3.2创建存储过程
CREATE DEFINER=`root`@`localhost` PROCEDURE `init_data`(i integer)
BEGIN
declare j int;
set j=0;
repeat
insert into data_test(c1) values (uuid());
set j=j+1;
until j>=i
end repeat;
END
存储过程中的参数i
是生成的数据条数
3.3调用存储过程
call init_data(10000000)
4.bug
在调用存储过程时,出现的bug如下:
Error Code: 2013. Lost connection to MySQL server during query
image.png
在执行插入操作30s时报错了
解决方案:
选择mysql workbench
下的preferences
,如下:
image.png
将
sql editor
的配置项
read timeout
从
30s
更改为
600s
image.png
要注意的是:上图修改的配置是全局配置
点击ok
后,清除之前插入的数据,重新登录mysql workbench
,然后重新调用存储过程即可
© 著作权归作者所有,转载或内容合作请联系作者
没有回复内容