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%';