不管是connect还是pconnect都有弊端,最好的是数据库连接池,但是好像php还没支持。
访问量比较小的时候一般用pconnect,访问量大会造成排队等候
访问量比较小的时候一般用pconnect,访问量大会造成排队等候
解决方案 »
- 关于别人对我的关注 想要自动排行多少名问题
- 有插件的网站应该怎么架构?
- require_once调用文件问题
- 为什么我这样的代码一些东西也没有输出?
- 写过smarty的插件的朋友帮忙解决这个问题
- ie 访问 嵌入式 linux web server 出错
- 求smarty html_select_date 例子
- 批量处理mysql数据时,如何在另一个表中插入所有记录?请高手能直接给出代码,谢谢!
- 请求能够过滤UBB代码和html代码的PHP或Javascript
- session 的SID常量不能获取到值
- unable to link database
- php.net中的搜索功能是怎么搞定的?有联想功能的哦,谁知道?
这岂不是节约了资源,延长了访问时间?
对前面几位的说法,不是很了解。
如果pconnect是长期开的话,访问量大的时候,岂不更耗资源?(一个访问开一个数据连接)
警告
在使用永久连接时还有一些特别的问题需要注意。例如在永久连接中使用数据表锁时,如果脚本不管什么原因无法释放该数据表锁,其随后使用相同连接的脚本将会被永久的阻塞,使得您需要重新启动 httpd 服务或者数据库服务。另外,在使用事务处理时,如果脚本在事务阻塞产生前结束,则该阻塞也会影响到使用相同连接的下一个脚本。不管在什么情况下,您都可以通过使用 register_shutdown_function() 函数来注册一个简单的清理函数来打开数据表锁,或者滚回事务。或者更好的处理方法,是不在使用数据表锁或者事务处理的脚本中使用永久连接,这可以从根本上解决这个问题(当然您也可以在其它地方使用永久连接)。
以下是一点重要的总结。永久连接是为通常连接建立一对一的分布而设计的。这意味着您必须能够保证在将永久连接替换为非永久连接时,您脚本的行为不会改变。使用永久连接将(非常)有可能改变您脚本的效率,但不改变其行为!