1. 程式人生 > >MYSQL 大批量資料插入

MYSQL 大批量資料插入

create procedure prod_dt()
 begin
 declare i,maxid int;
set i=0;
 select max(id) into maxid from loadtest;
 if maxid<10000000 then
 while i<100000 do
 insert into loadtest(data,record_date) values('1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111','2016-06-06');
 set i=i+1;
 end while;
 commit;
 elseif maxid>10000000 and maxid<20000000 then
 set i=0;
while i<100000 do
insert into loadtest(data,record_date) values('2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222','2016-06-07');
set i=i+1;
 end while;
 commit;
 elseif maxid>20000000 and maxid<30000000 then
set i=0;
while i<100000 do
 insert into loadtest(data,record_date) values('3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333','2016-06-08');
 set i=i+1;
 end while;
 commit;
elseif maxid>30000000 and maxid<40000000 then
 set i=0;
while i<100000 do
insert into loadtest(data,record_date) values('4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444','2016-06-09');
 set i=i+1;
 end while;
 commit;
 elseif maxid>40000000 and maxid<50000000 then
 set i=0;
while i<100000 do
 insert into loadtest(data,record_date) values('55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555','2016-06-10');
 set i=i+1;
 end while;
 commit;
elseif maxid>50000000 and maxid<60000000 then
 set i=0;
while i<100000 do
insert into loadtest(data,record_date) values('666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666','2016-06-11');
set i=i+1;
 end while;
 commit;
 elseif maxid>60000000 and maxid<70000000 then
 set i=0;
while i<100000 do
 insert into loadtest(data,record_date) values('7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777','2016-06-12');
set i=i+1;
 end while;
 commit;
 elseif maxid>70000000 and maxid<80000000 then
 set i=0;
 while i<100000 do
insert into loadtest(data,record_date) values('888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888','2016-06-13');
 set i=i+1;
end while;
commit;
 elseif maxid>80000000 and maxid<90000000 then
 set i=0;
 while i<100000 do
insert into loadtest(data,record_date) values('999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999','2016-06-14');
 set i=i+1;
 end while;
 commit;
 else
 alter event e_load disable;
end if;
end

================================================================================================