我正在询问 mysql 服务器和 phpmyadmin 中连接过多的问题,因为我的数据库中来自源的每小时数据速度约为 1000。当我在服务器上 TOP 时,mysqld 显示 100-145% 的 cpu 使用率,还有很多 php 线程在那里运行,因为通过 php 脚本插入数据。我的问题是,是否有任何机制可以使连接不溢出并使 mysql 服务器尽可能低地使用 cpu。因为我使用的是 VPS 服务器,但在 vps 上使用另一个应用程序并不是那么有效,因为 mysql 服务器占用 100% 的 cpu。有时 phpmyadmin 崩溃并显示一些民间错误。我已经阅读了查询缓存机制,但它用于缓存相同的选择查询,我应该将其用于插入还是有任何其他优化解决方案类型的队列机制。另外,我不能说什么时候插入数据速度低或高,如果知道那么我可以尝试队列机制。提前致谢!
最佳答案
检查你的代码,看看你是否有类似的东西
for($i = 0; $i < 10000; $i++) // basicly long loop with inserts
mysql_query("INSERT INTO table_name (id, value) VALUES ({$i}, 100)");
这应该改成类似的东西
$arr_values = array();
for($i = 0; $i < 10000; $i++)
$arr_values[] = "({$i}, 100)";
$str_values = implode(', ', $arr_values);
mysql_query("INSERT INTO table_name (id, value) VALUES {$str_values}");
基本上要注意代码中不需要的查询。
关于php - 太多的连接被用于在 mysql 中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698874/