mysqli持久连接

时间:2010-08-13 18:04:08

标签: php mysql mysqli

简而言之,对于高使用率mysqli_pconnect而言,是否存在某种PHP& MySQL服务器,还是我需要坚持mysql未经改进?如果是这样,他们为什么要删除它呢?

3 个答案:

答案 0 :(得分:18)

PHP 5.3中引入了对此的支持。对于之前的版本,PDO和 - 上帝禁止 - mysql扩展是唯一的选择。

引用manual

  

与mysql扩展不同,mysqli不提供用于打开持久连接的单独函数。要打开持久连接,必须在连接时将p:添加到主机名。

答案 1 :(得分:10)

我不打扰MySQL中的持久连接。持久连接适用于像Oracle这样的数据库,其中建立新连接要慢得多。

在MySQL中,建立连接的速度相对较快(特别是如果关闭反向DNS查找)。应该不需要与MySQL的持久连接。如果您的应用程序对性能至关重要,那么您可以做更多的事情,而不是担心持久连接。

此外,持久连接会带来意想不到的副作用。如果使用MySQL变量,临时表,更改连接的字符集,或忘记完成事务,则可能会导致问题。例如,您可以将一个用户的私有数据暴露给另一个用户的PHP会话,因为您将临时表保留为活动状态。

答案 2 :(得分:5)

实际上mysqli库有persistent support。只需将“p:”添加到主机名即可。