64位windows。
1:創(chuàng)建一張測(cè)試表
DROP?TABLE?IF?EXISTS?`test_user`;
CREATE?TABLE?`test_user`?(
`id`?bigint(20)??PRIMARY?key?not?null?AUTO_INCREMENT,
`username`?varchar(11)?DEFAULT?NULL,
`gender`?varchar(2)?DEFAULT?NULL,
`password`?varchar(100)?DEFAULT?NULL
)?ENGINE=MyISAM?DEFAULT?CHARSET=utf8;
存儲(chǔ)引擎使用MyISAM是因?yàn)榇艘鏇]有事務(wù),插入速度極快,方便我們快速插入千萬條測(cè)試數(shù)據(jù),等我們插完數(shù)據(jù),再把存儲(chǔ)類型修改為InnoDB。
2:使用存儲(chǔ)過程插入1千萬條數(shù)據(jù)
create?procedure?myproc()
begin
declare?num?int;
set?num=1;
while?num?<=?10000000?do
insert?into?test_user(username,gender,password)?values(num,'保密',PASSWORD(num));
set?num=num+1;
end?while;
end
call?myproc();
由于使用的MyISAM引擎,插入1千萬條數(shù)據(jù),僅耗時(shí)246秒,若是InnoDB引擎,插入100萬條數(shù)據(jù)就要花費(fèi)數(shù)小時(shí)了。
然后將存儲(chǔ)引擎修改回InnDB。使用如下命令:? alter table test_user engine=InnoDB;此命令執(zhí)行時(shí)間大約耗時(shí)5分鐘,耐心等待。