中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行MySQL批量insert效率對比

發布時間:2021-11-16 14:36:51 來源:億速云 閱讀:87 作者:柒染 欄目:MySQL數據庫

這篇文章給大家介紹如何進行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

速度驚人,盡然只需要19S 2. 全并5000條數據 操作之前需要清理數據

 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

竟然只要8S,還能不能更快 2. 全并7000條數據 操作之前需要清理數據

 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

7S,還能不能更快 2. 全并8000條數據 操作之前需要清理數據

 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越好批量提交數可以設置高點

關于如何進行MySQL批量insert效率對比就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海原县| 德州市| 瑞昌市| 息烽县| 沾益县| 永顺县| 嫩江县| 新宾| 辰溪县| 图木舒克市| 资中县| 滨海县| 东明县| 阜康市| 交城县| 怀宁县| 太谷县| 吴桥县| 永康市| 波密县| 正定县| 闻喜县| 扬中市| 静安区| 汪清县| 江达县| 旺苍县| 湟源县| 犍为县| 阳西县| 保靖县| 阿拉善左旗| 平定县| 信宜市| 上饶市| 西盟| 南乐县| 大洼县| 雅安市| 武夷山市| 西和县|