久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

167次閱讀
沒有評論

共計 2776 個字符,預計需要花費 7 分鐘才能閱讀完成。

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

操作之前需要清理數據

 system@localhost 21:01: [netdata]  truncate table phone_area_new;
Query OK, 0 rows affected (0.20 sec)

合并數據

 [root@BDMYSQL-200-104 dumpdir]# sed  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,還能不能更快

操作之前需要清理數據

 system@localhost 22:16: [netdata]  truncate table phone_area_new;
Query OK, 0 rows affected (0.24 sec)

合并數據

 [root@BDMYSQL-200-104 dumpdir]# sed  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,還能不能更快

操作之前需要清理數據

 system@localhost 22:20: [netdata]  truncate table phone_area_new;
Query OK, 0 rows affected (0.20 sec)

合并數據

 [root@BDMYSQL-200-104 dumpdir]# sed  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 效率對比就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計2776字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 金塔县| 新源县| 金溪县| 吐鲁番市| 彭泽县| 肥西县| 牡丹江市| 梅河口市| 阳江市| 佛坪县| 天祝| 鄢陵县| 叶城县| 务川| 南澳县| 沅江市| 商洛市| 琼中| 襄樊市| 岐山县| 古交市| 临猗县| 西吉县| 米林县| 福州市| 德安县| 陆丰市| 平南县| 双城市| 石泉县| 潍坊市| 呈贡县| 新昌县| 牡丹江市| 林甸县| 武宁县| 日照市| 黄石市| 宣恩县| 溧水县| 岗巴县|