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