MySQL批量insert效率對比
MySQL批量insert效率對比
事例如下:
[root@BDMYSQL-200-104 dumpdir]# more phone_area_new.sql INSERT INTO `phone_area_new` VALUES ('1302357', '江蘇省', '江蘇-南通', '南通'); INSERT INTO `phone_area_new` VALUES ('1302358', '江蘇省', '江蘇-南通', '南通'); INSERT INTO `phone_area_new` VALUES ('1302359', '江蘇省', '江蘇-南通', '南通'); INSERT INTO `phone_area_new` VALUES ('1302360', '浙江省', '浙江杭州', '杭州'); INSERT INTO `phone_area_new` VALUES ('1302361', '浙江省', '浙江杭州', '杭州'); INSERT INTO `phone_area_new` VALUES ('1302362', '浙江省', '浙江杭州', '杭州'); INSERT INTO `phone_area_new` VALUES ('1302363', '浙江省', '浙江杭州', '杭州'); INSERT INTO `phone_area_new` VALUES ('1302364', '浙江省', '浙江杭州', '杭州'); INSERT INTO `phone_area_new` VALUES ('1302365', '浙江省', '浙江杭州', '杭州'); INSERT INTO `phone_area_new` VALUES ('1302366', '浙江省', '浙江杭州', '杭州'); INSERT INTO `phone_area_new` VALUES ('1301743', '貴州省', '貴州-貴陽', '貴陽'); INSERT INTO `phone_area_new` VALUES ('1301744', '貴州省', '貴州-安順', '安順'); INSERT INTO `phone_area_new` VALUES ('1301745', '貴州省', '貴州-貴陽', '貴陽'); INSERT INTO `phone_area_new` VALUES ('1301746', '貴州省', '貴州-貴陽', '貴陽'); INSERT INTO `phone_area_new` VALUES ('1301747', '貴州省', '貴州-貴陽', '貴陽'); INSERT INTO `phone_area_new` VALUES ('1301748', '貴州省', '貴州-貴陽', '貴陽'); INSERT INTO `phone_area_new` VALUES ('1301749', '貴州省', '貴州-遵義', '遵義'); INSERT INTO `phone_area_new` VALUES ('1301750', '河南省', '河南-焦作', '焦作'); --More--(0%)
行數大概有271255行:
[root@BDMYSQL-200-104 dumpdir]# wc -l phone_area_new.sql 271255 phone_area_new.sql
如果不合並insert大概需要3個小時左右才匯入完,這樣很悲劇,現在我們針對合併數量進行對比
1. 全並1000條資料 首先進行文字處理[root@BDMYSQL-200-104 dumpdir]# sed ':a;N;s/;\r\?\n[^(]*/,/;0~1000!ba' phone_area_new.sql >mm.sql
system@localhost 21:01: [netdata]> truncate table phone_area_new; Query OK, 0 rows affected (0.20 sec)
[root@BDMYSQL-200-104 dumpdir]# time mysql netdata<mm.sql real 0m19.028s user 0m0.155s sys 0m0.008s
system@localhost 21:01: [netdata]> truncate table phone_area_new; Query OK, 0 rows affected (0.20 sec)
[root@BDMYSQL-200-104 dumpdir]# sed ':a;N;s/;\r\?\n[^(]*/,/;0~5000!ba' phone_area_new.sql >mm.sql
[root@BDMYSQL-200-104 dumpdir]# time mysql netdata<mm.sql real 0m8.634s user 0m0.151s sys 0m0.008s
system@localhost 22:16: [netdata]> truncate table phone_area_new; Query OK, 0 rows affected (0.24 sec)
[root@BDMYSQL-200-104 dumpdir]# sed ':a;N;s/;\r\?\n[^(]*/,/;0~7000!ba' phone_area_new.sql >mm.sql
[root@BDMYSQL-200-104 dumpdir]# time mysql netdata<mm.sql real 0m7.290s user 0m0.146s sys 0m0.011s
system@localhost 22:20: [netdata]> truncate table phone_area_new; Query OK, 0 rows affected (0.20 sec)
[root@BDMYSQL-200-104 dumpdir]# sed ':a;N;s/;\r\?\n[^(]*/,/;0~8000!ba' phone_area_new.sql >mm.sql
[root@BDMYSQL-200-104 dumpdir]# time mysql netdata<mm.sql real 0m7.477s user 0m0.144s sys 0m0.012s
總結:批量提交數跟硬體IO效能有很大關係,硬體IO越好批量提交數可以設定高點
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24486203/viewspace-2132467/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- string中Insert與Format效率對比、String與List中Contains與IndexOf的效率對比ORMAIIndex
- 【MyBatis】幾種批量插入效率的比較MyBatis
- NOT IN、JOIN、IS NULL、NOT EXISTS效率對比Null
- insert批量插入優化方案優化
- 使用JDBC時,加速批量insertJDBC
- JDBC批量Insert深度優化JDBC優化
- 【C#】反射的用法及效率對比C#反射
- IOS各種集合遍歷效率對比iOS
- rebuild與rebuild online效率比對Rebuild
- 【持續部署】批量部署工具,總結、對比
- Oracle批量插入資料insert all into用法Oracle
- mybatis 批量新增insert、更新update詳解MyBatis
- MySQL批量Insert應用ON DUPLICATE KEY UPDATEMySql
- 提高對大批量資料時MV的重新整理效率
- SQL Server Bulk Insert批量資料匯入SQLServer
- 資料庫執行效率的對比測試資料庫
- sqlserver 檢視和sql語句的效率對比SQLServer
- oracle bulk Insert 比insert 快不是一點啊.Oracle
- MySQL 拼接Insert批量同步異構表資料MySql
- 【INSERT】逐行提交、批量提交及極限提速方法
- pl/sql中三種遊標迴圈效率對比SQL
- oracle10g表壓縮後的效率比對Oracle
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- 批量更新效能比較
- 關於insert /*+ append*/ 各種insert插入速度比較APP
- insert into select 批量載入出錯解決方案
- python多執行緒爬蟲與單執行緒爬蟲效率效率對比Python執行緒爬蟲
- 資料結構-各種排序演算法效率對比圖資料結構排序演算法
- Oracle環境下SQL語句的不同寫法效率對比OracleSQL
- insert的不同場景效能比較
- python 批量resize效能比較Python
- Linux大檔案重定向和管道的效率對比總結Linux
- mysql的left join和inner join的效率對比,以及如何優化MySql優化
- MySQL中使用or、in與union all在查詢命令下的效率對比MySql
- 【SQL】Oracle sql語句 minus函式執行效率與join對比SQLOracle函式
- java int轉String所有方式的效率對比與深入解析Java
- SIFT演算法與SURF演算法特徵檢測效率對比演算法特徵
- Java 大檔案IO操作效率對比【我說說 你瞅瞅】Java