【发布时间】:2011-03-29 14:47:27
【问题描述】:
简而言之,对于高使用率的PHP 和MySQL 服务器是否有某种mysqli_pconnect,或者我是否需要坚持使用mysql 未改进?如果是这样,他们为什么要删除它?
【问题讨论】:
简而言之,对于高使用率的PHP 和MySQL 服务器是否有某种mysqli_pconnect,或者我是否需要坚持使用mysql 未改进?如果是这样,他们为什么要删除它?
【问题讨论】:
在 PHP 5.3 中引入了对此的支持。对于在此之前的版本,PDO 和 - 上帝保佑 - mysql 扩展是唯一的选择。
引用manual:
与 mysql 扩展不同,mysqli 不提供单独的函数来打开持久连接。要打开持久连接,您必须在连接时将 p: 添加到主机名。
【讨论】:
我不关心 MySQL 中的持久连接。持久连接适用于 Oracle 等数据库,其中建立新连接的速度要慢得多。
在 MySQL 中,建立连接相对较快(尤其是在您关闭反向 DNS 查找的情况下)。应该不需要与 MySQL 的持久连接。如果您的应用对性能至关重要,那么您可以做很多事情,而不是担心持久连接。
此外,持久连接会带来意想不到的副作用。如果您使用 MySQL 变量、临时表、更改连接的字符集或忘记完成事务,则可能会导致问题。例如,您可以将一个用户的私有数据暴露给另一个用户的 PHP 会话,因为您让一个临时表处于活动状态。
【讨论】:
其实mysqli库有persistent support。只需在主机名前加上“p:”即可。
【讨论】: