瞬间写入一百万 mysql_MySQL创建Users 表并在表中一次插入一百万条数据(用存储过程插入)。…

  • Post author:
  • Post category:mysql


用存储结构向表中一次插入一百万条数据

首先创建Users表,写存储过程用while循环插入数据。(concat()函数链接两个字符串)

1.第一种(我只用了一个while循环,等待时间长)

创建Users表:

代码:

7f44f4da1325d25b8eba2ce485a85f51.png

写存储过程:

代码:

delimiter $$

drop procedure if exists Pro_insert $$

create procedure Pro_insert(in loop_times int)

begin

set @counts = 1;

while @counts = 1 do

insert into Users values (null,concat(‘UserName’,@counts),23,0,concat(‘tele’,@counts),concat(‘Email’,@counts),concat(‘23423435’,@counts));

set @counts = @counts + 1;

end while;

end $$

delimiter ;

调用:

call Pro_insert(1000000);

2.第二种(用两个while分拨插入,会比较快一点)

delimiter $$

Drop procedure if exists insert_infor $$

create procedure insert_infor(in n int,in c int)

BEGIN

set @num=1,@counts=1;

while @num <= n do

while @counts <=c do

insert into Users values (null,concat(‘UserName’,@counts),23,0,concat(‘tele’,@counts),concat(‘Email’,@counts),concat(‘23423435’,@counts));

set @counts = @counts + 1;

end while;

set @counts=1;    #一定要把@counts置为1,否则内层while只循环一次。

set @num = @num + 1;

end while;

END $$

delimiter ;

调用:

call insert_infor(1000,1000);



版权声明:本文为weixin_39841717原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。