1

我正在询问 mysql 服务器和 phpmyadmin 中的连接太多,因为我的数据库中的数据速度每小时 ~ 1000。当我在服务器上 TOP 时,mysqld 显示 100-145% 的 cpu 利用率也有很多 php 线程在那里运行,作为通过 php 脚本插入数据。我的问题是,是否有任何机制可以使连接不溢出并且mysql服务器尽可能低地使用cpu。因为我使用的是 VPS 服务器,但是在 vps 上使用另一个应用程序并不是那么有效,因为 mysql 服务器占用 100% cpu。有时 phpmyadmin 崩溃并显示一些民间错误。我已经阅读了查询缓存机制,但它用于缓存相同的选择查询,我应该将它用于插入还是有任何其他最佳解决方案类型的队列机制. 另外,我不能说何时插入数据速度低或高,如果它知道,那么我可以尝试队列机制。提前致谢!

4

2 回答 2

1

检查您的代码,看看您是否有类似的东西

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}");

基本上要注意代码中不需要的查询。

于 2012-05-22T09:12:31.690 回答
0

您应该从以下链接 mysql_query cache中获得有关“QUERY CACHE”的基本概念

于 2012-05-22T09:08:32.207 回答