我在服务器上有大约50个脚本,每秒插入3到6组数据。我发现MySQL反过来占用了所有系统资源,有时它会崩溃服务器。
我在想,如果我收集5分钟的查询并为每个脚本执行1次批量插入,那么它会有所帮助,但它会有所帮助吗?有没有人有过切换到批量插入的经验?
我的表格是MyISAM(如果需要,可以更改它们,如果我不丢失数据)。 MySQL版本:5.1.56
由于
答案 0 :(得分:2)
这将是一个明显的显着差异。使用批量,您可以从许多数据库打开,查询,接近单个打开,多个查询和关闭。如果你想进一步限制负载,只需将它们写入平面文件,并在非高峰时间将一个cron作业进程写入数据库
答案 1 :(得分:2)
批量插入更快。但在这种情况下你应该关心查询长度;长度必须小于max_allowed_packet - 一个数据包或任何生成/中间字符串的最大大小。
答案 2 :(得分:0)
一些建议:
INSERT INTO ... VALUES (...),(...),(...);
bulk(a1,a2,a3,b1,b2,b3);