mysql千萬級(jí)數(shù)據(jù)量根據(jù)索引優(yōu)化查詢速度

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分鐘,耐心等待。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容