mysql错过了数据输入

时间:2012-07-15 15:26:48

标签: php mysql database

我试图强调测试mysql:

 for($i=0;$i<30000;$i++)
{
 mysql_connect("localhost","admin","admin");
 mysql_select_db("magic");
 mysql_query(INSERT INTO Persons
 VALUES   (4,'9999999999999999999999999999999999999999999999999999999999999999999999999999999999'));
 mysql_close(); 
}

它只插入25985,而不是更多。 表模式:id = primary int,content = long text

Tt给了我error cannot connect to mysql,即使我增加了最大连接数。

任何解决方案都将受到赞赏:)

2 个答案:

答案 0 :(得分:2)

“连接量太高了!”开玩笑!

连接数由计算机上可用的RAM数量提供。因此,如果您有RAM的gygabites,您可以拥有10k连接,取决于您的系统,允许连接的RAM等。

在此处查看:MYSQL : too many connections

  

MySQL可以支持的最大连接数取决于给定平台上的线程库质量,可用RAM量,每个连接使用多少RAM,每个连接的工作负载以及所需的响应时间。

为什么你需要同时连接这么多?一个连接和30.000次插入应该可以,但不能同时连接30.000个连接。

希望有所帮助:)

答案 1 :(得分:1)

这可能是因为您在每次循环迭代时打开和关闭连接。在大多数实现中,使用缓存以便不频繁地重新建立连接。

mysql_connect("localhost","admin","admin");
mysql_select_db("magic");
for($i=0;$i<30000;$i++)
{
    mysql_query(INSERT INTO Persons
    VALUES   (4,'9999999999999999999999999999999999999999999999999999999999999999999999999999999999'));
}
mysql_close();