简而言之,对于高使用率mysqli_pconnect
而言,是否存在某种PHP
& MySQL
服务器,还是我需要坚持mysql
未经改进?如果是这样,他们为什么要删除它呢?
答案 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:”添加到主机名即可。