PHP 里面的数据库长链接应用在什么场景?比如 mysql_pconnect
mysql_pconnect
业精于勤,荒于嬉;行成于思,毁于随。
你问的是数据库永久(持久)链接吗?
官方有答案:
答案非常简单――效率。 当客户端对您的 SQL 服务器的连接请求非常频繁时,永久连接将更加高效。连接请求频繁的标准取决于很多因素。例如,数据库的种类,数据库服务和 WEB 服务是否在同一台服务器上,SQL 服务器如何加载负载等。但我们至少知道,当连接请求很频繁时,永久连接将显著的提高效率。它使得每个子过程在其生命周期中只做一次连接操作,而非每次在处理一个页面时都要向 SQL 服务器提出连接请求。这也就是说,每个子过程将对服务器建立各自独立的永久连接。 例如,如果您有 20 个不同的子过程运行某脚本建立了永久的 SQL 服务器永久连接,那么实际上您向该 SQL 服务器建立了 20 个不同的永久连接,每个过程占有一个。 注意,如果永久连接的子过程数目超过了您设定的数据库连接数限制,系统将会产生一些缺陷。如果您的数据库的同时连接数限制为 16,而在繁忙会话的情况下,有 17 个线程试图连接,那么有一个线程将无法连接。如果这个时候,在您的脚本中出现了使得连接无法关闭的错误(例如无限循环),则该数据库的 16 个连接将迅速的受到影响。
答案非常简单――效率。
当客户端对您的 SQL 服务器的连接请求非常频繁时,永久连接将更加高效。连接请求频繁的标准取决于很多因素。例如,数据库的种类,数据库服务和 WEB 服务是否在同一台服务器上,SQL 服务器如何加载负载等。但我们至少知道,当连接请求很频繁时,永久连接将显著的提高效率。它使得每个子过程在其生命周期中只做一次连接操作,而非每次在处理一个页面时都要向 SQL 服务器提出连接请求。这也就是说,每个子过程将对服务器建立各自独立的永久连接。
例如,如果您有 20 个不同的子过程运行某脚本建立了永久的 SQL 服务器永久连接,那么实际上您向该 SQL 服务器建立了 20 个不同的永久连接,每个过程占有一个。
注意,如果永久连接的子过程数目超过了您设定的数据库连接数限制,系统将会产生一些缺陷。如果您的数据库的同时连接数限制为 16,而在繁忙会话的情况下,有 17 个线程试图连接,那么有一个线程将无法连接。如果这个时候,在您的脚本中出现了使得连接无法关闭的错误(例如无限循环),则该数据库的 16 个连接将迅速的受到影响。
注:这个链接不是永久的,也不提供任何回话功能。
聊天室算不?
你问的是数据库永久(持久)链接吗?
官方有答案:
注:这个链接不是永久的,也不提供任何回话功能。
聊天室算不?