千家信息网

如何进行MySQL批量insert效率对比

发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,这篇文章给大家介绍如何进行MySQL批量insert效率对比,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MySQL批量insert效率对比事例如下: [root@BDMYSQL
千家信息网最后更新 2024年12月13日如何进行MySQL批量insert效率对比

这篇文章给大家介绍如何进行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.sql271255 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

速度惊人,尽然只需要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

竟然只要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

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
批量提交数跟硬件IO性能有很大关系,硬件IO越好批量提交数可以设置高点

关于如何进行MySQL批量insert效率对比就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

数据 杭州 浙江 贵州 贵阳 浙江省 贵州省 南通 江苏 效率 江苏省 内容 更多 更快 硬件 安顺 河南 焦作 遵义 帮助 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库首尾模糊查询 计算机技术和网络技术的普及 辽事通怎么总服务器连接不上 时间同步服务器 搭建 软件开发服务与研发服务 大专生在培训班学软件开发 数据库安全审计系统 参数 陆奇数据库有限公司 数据库表格存放的文件 奉贤区信息软件开发定制要求 福建智信科技互联网应用 傲智软件开发 贷款需要服务器密码安全吗 大数据时代网络技术 饥荒联机版服务器无应答解决方法 菏泽市网络安全知识答题 江门服务器机柜价格怎么样 网络式数据库常用 坚决贯彻落实网络安全法 简极网络技术有限公司 vpn 连接服务器失败 数据库还原 恢复 哈尔滨黑盒测试网络安全 华磊网络技术 安信网络安全科技馆 桌面共享软件开发的独特优势 万部电梯安全管理数据库 武汉计算机软件开发招聘信息 网络安全会影响到我们国家 生活当中数据库的应用有哪些
0