MySQL如何快速批量插入1000w條數(shù)據(jù)
聽(tīng)說(shuō)有個(gè)面試題是: 如何快速向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只草泥馬呼嘯而過(guò),我用的是下面的代碼:
-- 進(jìn)入數(shù)據(jù)庫(kù)
use test;
-- 顯示所有表
show tables;
-- 創(chuàng)建majors表
create table majors(id int, major varchar(255));
-- 定義結(jié)束符$
delimiter "$";
-- 創(chuàng)建存儲(chǔ)過(guò)程,定義存儲(chǔ)方法
create procedure batchInsert(in args int)
begin
declare i int default 1;
-- 開(kāi)啟事務(wù)(重要!不開(kāi)的話,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條試試,同時(shí)輸入$, 回車(chē)執(zhí)行
call batchInsert(100000);
$
生成10w條數(shù)據(jù),用了4.44秒

生成100w條數(shù)據(jù)用了58.62秒,差不多1分鐘

生成1000w條數(shù)據(jù), 屏幕前的大佬可以去試一下, 哈哈, 我 Ctrl+C把進(jìn)程kill了!

總結(jié)
到此這篇關(guān)于MySQL如何快速批量插入1000w條數(shù)據(jù)的文章就介紹到這了,更多相關(guān)MySQL批量插入數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解Mysql事務(wù)隔離級(jí)別與鎖機(jī)制問(wèn)題
MySQL默認(rèn)的事務(wù)隔離級(jí)別是可重復(fù)讀,用Spring開(kāi)發(fā)程序時(shí),如果不設(shè)置隔離級(jí)別默認(rèn)用MySQL設(shè)置的隔離級(jí)別,如果Spring設(shè)置了就用已設(shè)置的隔離級(jí)別,本文重點(diǎn)給大家介紹Mysql事務(wù)隔離級(jí)別與鎖機(jī)制的相關(guān)知識(shí),一起看看吧2021-09-09
SSM實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)賬號(hào)密碼密文登錄功能
這篇文章主要介紹了SSM實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)賬號(hào)密碼密文登錄功能,本文分為三步給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-08-08
修改Innodb的數(shù)據(jù)頁(yè)大小以優(yōu)化MySQL的方法
這篇文章主要介紹了修改Innodb的數(shù)據(jù)頁(yè)大小以優(yōu)化MySQL的方法,Innodb是MySQL下一個(gè)頗具人氣的數(shù)據(jù)引擎,需要的朋友可以參考下2015-05-05
MySQL存儲(chǔ)過(guò)程中sql語(yǔ)句條件的in無(wú)效問(wèn)題及解決
這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程中sql語(yǔ)句條件的in無(wú)效問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
解決Mysql主從錯(cuò)誤:could not find first log&nbs
這篇文章主要介紹了解決Mysql主從錯(cuò)誤:could not find first log file name in binary問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12

