10bet网址
连接器和api手册
本手册下载
PDF (Ltr)- 5.2 mb
PDF (A4)- 5.2 mb


7.3.4 mysqli扩展和持久连接

版权1997 - 2021 PHP文档组。10bet官方网站

持久连接背后的想法是,客户端流程和数据库之间的连接由一个客户端可以重用的过程,而不是被多次创建和销毁。这减少了创建新连接的开销每次是必需的,未使用的连接缓存和准备重用。

与mysql扩展,mysqli不提供一个单独的函数打开持久连接。你必须预先考虑的持久连接病人:当连接的主机名。

持久连接的问题是,他们可以被客户在不可预知的状态。例如,表锁可能被激活之前客户意外终止。新客户流程重用这个持久连接将连接就像。任何清理需要由新客户流程之前,可以充分利用持久连接,增加了程序员的负担。

的持久连接mysqli然而扩展提供了内置的清理处理代码。清理由mysqli包括:

  • 回滚活动事务

  • 关闭和删除临时表

  • 打开表

  • 重置会话变量

  • 关闭预备语句(总是发生在PHP)

  • 关闭处理程序

  • 释放锁了,GET_LOCK

这确保持久连接在一个干净的状态返回从连接池中,在客户端进程使用。

mysqli扩展这个清理通过自动调用c api函数mysql_change_user ()

自动清理功能有其优点和缺点。优点是程序员不再需要担心添加清理代码,因为它被称为自动。然而,缺点是可能的代码潜在的有点慢,因为代码来执行清理需要运行每次连接返回的连接池。

可以关掉自动清理代码,通过编译PHPMYSQLI_NO_CHANGE_USER_ON_PCONNECT定义的。

请注意

mysqli扩展支持持久连接时使用MySQL本地司机或MySQL客户端库。