为什么重新打开与mysql的连接很重要?

时间:2015-06-16 20:31:36

标签: php mysql

我在同一个doc中见过程序员:

$connection = mysql_connect("localhost","user","password");
        $request = "firts request";
        mysql_query( $request , $connection );
        mysql_close( $conexion );
$connection = mysql_connect("localhost","user","password");
        $request = "second request";
        mysql_query( $request , $connection );
        mysql_close( $conexion );

问题是如果我不关闭连接怎么办?

2 个答案:

答案 0 :(得分:1)

第一!是时候在mysql_ *上使用mysqli_ *函数了。 Why?

每次关于开放式连接......

请记住,数据库连接需要“时间”来创建,通常您的数据库位于与Web解决方案不同的硬件上。这意味着每个连接都将涉及网络交换,这在具有高负载用户/多个连接的解决方案中是昂贵的。从我的“世界”,我们通常使用一些连接模式来重用使用某个连接池创建的连接。从数据库连接池我们重用存在的连接数量,我们可以增加和调整这取决于企业。现在对于php,您应该检查mysqli和p:以实现类似的功能,请参阅persistent connections

  

通过p:预先添加主机打开持久连接。在从连接池打开的连接上自动调用mysqli_change_user()。

关于关闭连接,规范here

  

在脚本执行结束时会自动销毁打开的连接(和类似的资源)。但是,您应该在不再需要时立即关闭或释放所有连接,结果集和语句句柄。这将有助于更快地将资源返回到PHP和MySQL。

如果您使用新的PHP应用程序,您也可以考虑从PDO开始,mysql_更容易迁移到mysqli_但如果这是全新的,您真的应该检查PDO。这也将为您提供持久连接功能。在Api choosingLibrary choosingPDO connections

了解详情

答案 1 :(得分:0)

关闭连接的想法是正确处理资源。打开的连接正在消耗服务器上的一些资源。

此外,保持连接打开可能是一个安全问题。无论如何,在任何其他情况下,您应该根据特定代码的工作方式在两个位置之间找到平衡。

我的回答适用于您使用的任何连接库,但请注意,mysql_已弃用且将很快删除。考虑使用myslqi_或更好地开始使用PDO