1. 程式人生 > >MYSQL 千萬資料速度以及極限測試InnoDb--INSERT 拼接極限(一)

MYSQL 千萬資料速度以及極限測試InnoDb--INSERT 拼接極限(一)

資料結構:


測試目的:找到批量插入資料insert後面values可拼接極限

程式碼:


引擎:InnoDB

執行結果:

生產第1批20000條資料耗時:0.343秒
InnoDB第1批插入20000條資料耗時39.401秒

執行SQL:


通過執行SQL,可以證明資料插入的方法,確實使用的是insert 後面拼接資料內容的方法。並未報錯,說明拼接20000條資料,並沒有到達SQL的極限。

下面使用21000條記錄:

程式碼:


結果:


結論:

成功得到結果資料生產第1批21000條資料耗時:0.364秒 InnoDB第1批插入21000條資料耗時42.266秒。說明依然沒有到達極限;

下面使用22000條記錄:

結果:

顯然21000條記錄已經到了極限。並且通過之前的資料分析,每條記錄的插入都能保證在0.001秒鐘執行完成。並且多次測試,總體時間有4秒級差距。此速度是在框架環境下呼叫框架函式進行的資料批量插入。

下面再看一下,原生SQL插入速度

程式碼:

結果:

生產第1批20000條資料耗時:0.001秒
InnoDB第1批插入20000條資料耗時0.14秒

可以看到,框架函式再轉化為SQL語句的時間+資料生成的時間,極大的影響了資料插入的速度。