MYSQL 大批量資料插入
阿新 • • 發佈:2019-02-18
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
================================================================================================
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
================================================================================================