1. 程式人生 > >mysql儲存過程迴圈事務插入資料

mysql儲存過程迴圈事務插入資料

DROP PROCEDURE IF EXISTS insertTUserStatement;
create procedure insertTUserStatement(IN num int)
begin
declare i int;
start transaction;
 set i=0;
 while i<num do
    INSERT t_user_statement VALUES(NULL,FLOOR(1 + RAND() * (10)),1,FLOOR(100 + (RAND() * 99999)),0,1,1,NOW(),0,0);
    set i=i+1;
end while;
commit;
 end;

CALL insertTUserStatement(100000);

使用事務一次性提交,速度會快很多。10W條資料也才不到3秒,百萬條不到30秒,模擬資料非常方便。 此表主鍵自增,所以未寫回滾。