当前位置:  开发笔记 > 编程语言 > 正文

mysql_connect VS mysql_pconnect

如何解决《mysql_connectVSmysql_pconnect》经验,为你挑选了1个好方法。

我有这个疑问,我在网上搜索,答案似乎是多样化的.当通过PHP连接到数据库时,使用mysql_pconnect而不是mysql_connect更好吗?我读到pconnect的扩展性要好得多,但另一方面,作为持久连接......同时拥有10 000个连接,所有持久性,对我来说似乎不具备可扩展性.

提前致谢.



1> Bill Karwin..:

MySQL不需要持久连接.在其他数据库(例如Oracle)中,建立连接既昂贵又耗时,因此如果您可以重新使用连接,那将是一个巨大的胜利.但这些品牌的数据库提供连接池,以更好的方式解决问题.

与其他品牌相比,快速建立与MySQL数据库的连接,因此使用持久连接为MySQL提供的成本比其他品牌数据库的成本要小.

持久的联系也有缺点.无论是否需要连接,数据库服务器都会为每个连接分配资源.因此,如果连接空闲,您会看到大量浪费的资源.我不知道你是否会达到10,000个闲置连接,但即使是几百个也是昂贵的.

连接具有状态,并且PHP请求从先前由另一个PHP请求使用的会话"继承"信息是不合适的.例如,临时表和用户变量通常在连接关闭时清除,但如果使用持久连接则不会.同样基于会话的设置,如字符集和整理.此外,LAST_INSERT_ID()将报告在会话期间最后生成的id - 即使是在先前的PHP请求期间.

至少对于MySQL来说,持久连接的缺点可能超过了它们的好处.还有其他更好的技术可以实现高可扩展性.


2014年3月更新:

与其他品牌的RDBMS相比,MySQL连接速度始终较低,但它的性能甚至更好.

请参阅http://mysqlserverteam.com/improving-connectdisconnect-performance/

在MySQL 5.6中,我们开始致力于优化代码处理连接和断开连接.这项工作在MySQL 5.7中得到了加速.在这篇博文中,我将首先展示我们已经取得的成果,然后描述我们为获得它们所做的工作.

阅读博客了解更多详情和速度比较.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有