MySQL插入数据慢解决办法

MySQL插入数据慢解决办法

如果使用这种方式插入3W条数据,大概需要十来分钟时间。速度太慢了

insert into table ……
insert into table ……
...

改为使用 insert into table () values (),(),(),() 这种方式插入10W条数据只需要1两秒即可,非常快,使用这种方式可能会报 max_allowed_packet 不足,需要设置 max_allowed_packet 变大一些。

max_allowed_packet 这个参数控制通信的数据包 packet 大小,可以查看当前 max_allowed_packet 大小:
show VARIABLES like '%max_allowed_packet%';

设置大小为20M:

set global max_allowed_packet = 2*1024*1024*10

再次查看 max_allowed_packet 需要重新打开命令行,或在工具navicat中重新打开一个新的查询窗口查询:show VARIABLES like '%max_allowed_packet%';

源码,是痛苦的,又是快乐的,如果没有这痛苦,也就没有了这快乐!
原文地址:https://www.cnblogs.com/erlongxizhu-03/p/14024248.html