我有一个使用jQuery执行多个AJAX调用的网页,而不是一次完成。每个AJAX调用都是针对不同的PHP文件进行的,每个文件都使用与同一个mysql服务器和数据库的连接。在每个AJAX调用中创建连接对于性能来说是糟糕的,我如何在所有AJAX调用中创建一个连接并维护它?谢谢!
答案 0 :(得分:4)
将PHP作为Apache模块运行时,您可以使用持久连接。使用经典(且已弃用)的libmysql API,您可以调用mysql_pconnect(...)
而不是mysql_connect(...)
。这会导致PHP在完成请求后不关闭MySQL连接,并且重用此连接以执行后续请求。
使用PDO时,您可以按如下方式实现持久连接:
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass,
array(PDO::ATTR_PERSISTENT => true));
但是,通常建立与数据库服务器的连接的性能影响应该可以忽略不计(但我没有任何基准来确认这一点)。
答案 1 :(得分:0)
如评论中所述。这是一个非常糟糕的主意。 通过apache的mod_php运行PHP时可能会非常棘手。
在每个AJAX调用中创建连接对于性能来说是糟糕的
这个想法来自哪里? 确保通过插座连接。