聽說有個面試題是: 如何快速向mysql中插入1000w條數(shù)據(jù)?
我私下試了一下, 發(fā)現(xiàn)插入10000條數(shù)據(jù)用了0.9s, 插入10w條數(shù)據(jù)用了4.7s, 插入100w條數(shù)據(jù)用了58s左右,1000w條數(shù)據(jù),我的筆記本吭哧了5分鐘,自己停了, 心中1000w只草泥馬呼嘯而過,我用的是下面的代碼:
-- 進入數(shù)據(jù)庫 use test; -- 顯示所有表 show tables; -- 創(chuàng)建majors表 create table majors(id int, major varchar(255)); -- 定義結(jié)束符$ delimiter "$"; -- 創(chuàng)建存儲過程,定義存儲方法 create procedure batchInsert(in args int) begin declare i int default 1; -- 開啟事務(wù)(重要!不開的話,100w數(shù)據(jù)需要論天算) start transaction; while i = args do insert into majors(id,major) value(i,concat("軟件工程-",i)); set i = i+ 1; end while; commit; end $ -- 調(diào)用函數(shù),生成數(shù)據(jù) -- 先生成10w條試試,同時輸入$, 回車執(zhí)行 call batchInsert(100000); $
生成10w條數(shù)據(jù),用了4.44秒
生成100w條數(shù)據(jù)用了58.62秒,差不多1分鐘
生成1000w條數(shù)據(jù), 屏幕前的大佬可以去試一下, 哈哈, 我 Ctrl+C把進程kill了!
總結(jié)
到此這篇關(guān)于MySQL如何快速批量插入1000w條數(shù)據(jù)的文章就介紹到這了,更多相關(guān)MySQL批量插入數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:黑河 吉林 隨州 甘南 資陽 荊州 錦州 滄州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL如何快速批量插入1000w條數(shù)據(jù)》,本文關(guān)鍵詞 MySQL,如何,快速,批量,插入,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。