我是一个PHP新手,他们正在编写一些脚本来显示数据库中的一些新闻文章,并希望找到一些东西。
mysql_connect
还是mysql_pconnect
? 答案 0 :(得分:19)
如果您要编写网页,则无需持久连接。它需要太多资源。使用mysql_connect。最小化数据库连接打开的时间,尽可能不使用。打开,获取你想要的东西,关闭。当用户只是阅读时,它不需要保持打开状态。如果它们响应,最终将使用该连接 - 插入/转到另一页面。
Here是关于不使用在Web应用程序中持久连接的一些好处
当您锁定表时,通常在连接关闭时它会被解锁,但由于持久连接没有关闭,所以任何表都是你 不小心离开锁定将保持锁定,并且唯一的方法 解锁它们是等待连接超时或杀死 处理。事务发生同样的锁定问题。 (看到 以下评论于2002年4月23日及以后12-JUL-2003)
通常在连接关闭时会删除临时表,但由于持久连接不会关闭,因此临时表不会关闭 如此暂时。如果您没有明确删除临时表 完成后,该表将存在于重新使用的新客户端 相同的连接。设置会话时会出现同样的问题 变量。 (见下面的评论见2004年11月19日和2006年8月7日)
如果PHP和MySQL在同一服务器或本地网络上,连接时间可以忽略不计,在这种情况下没有优势 持久连接。
Apache与持久连接不兼容。当它收到来自新客户端的请求时,而不是使用其中一个 它已经打开了持久连接的可用子节点 往往会产生一个新的孩子,然后必须打开一个新的数据库 连接。这导致过多的进程正在睡觉, 浪费资源,并在达到最大值时导致错误 连接,加上它会破坏持久连接的任何好处。 (见下文于2004年2月3日的评论,以及脚注于 http://devzone.zend.com/node/view/id/686#fn1)
答案 1 :(得分:1)
答案 2 :(得分:1)
您应该在高负载的网站上使用mysql_pconnect,因此连接将被重用。这可以将速度提高两倍......
但是,如果你不期望高负荷;使用正常连接的原因是上面提到的Svetlozar Angelov。
答案 3 :(得分:-1)
请不要回答这个问题,已经在其他地方提出并回答了问题。见上面的链接。