如何在没有多个数据库连接的情况下执行多个AJAX请求?

时间:2012-01-06 12:39:17

标签: php mysql ajax

我正在创建一个包含select元素的网页,这些元素由AJAX请求动态填充。

在某些事件中,select元素向脚本发出请求,该脚本在执行时建立数据库连接,查询数据库并使用接收到的数据进行响应,然后填充select元素。每个select元素在不同的事件中发出单独的请求。

在这种情况下,多个数据库连接是一个坏主意,有没有办法避免它们?我正在使用PHP和MySQL。

2 个答案:

答案 0 :(得分:2)

多重连接不会造成任何伤害。根据您的网络服务器和数据库类型,它可能会有所不同,但默认的最大连接数为151,您可以看到here。如果超过此数字,您将收到Too many connections错误,这意味着其他客户端正在使用所有可用连接。

  

允许的连接数由   max_connections系统变量。默认值为151以进行改进   MySQL与Apache Web服务器一起使用时的性能。   (以前,默认值为100.)如果您需要支持更多   连接,你应该为这个变量设置一个更大的值。

如果您进行了一次正确的连接以获取并返回数据,那么这应该在几毫秒内完成,因此很可能会有151个并发打开的连接都在处理查询。

所以不..这不是问题。

答案 1 :(得分:0)

如果您每页或每次只提出几个请求,那么这不会过于昂贵。如果它是一个非常繁忙的页面或站点,那么建立一个连接池并在会话之间共享。

有一件事:从您的描述中可以看出,您正在让页面动态生成SQL。这听起来像注射攻击的食谱。确保在应用之前清理AJAX。