mysql_connect VS mysql_pconnect [关闭]

mysql_connect VS mysql_pconnect [关闭],第1张

mysql_connect VS mysql_pconnect [关闭]

对于MySQL,持久连接应该是不必要的。在其他数据库(例如Oracle)中,建立连接既昂贵又费时,因此,如果您可以重用连接,那将是一个巨大的胜利。但是那些品牌的数据库提供了连接池,这可以更好地解决该问题。

与其他品牌的数据库相比,建立与MySQL数据库的连接要快得多,因此与其他品牌的数据库相比,使用持久连接给MySQL带来的收益成比例地减少。

持久连接也有不利之处。无论是否需要连接,数据库服务器都会为每个连接分配资源。因此,如果连接处于空闲状态,则会无目的地看到大量浪费的资源。我不知道您是否会达到10,000个空闲连接,但即使是数百个连接也很昂贵。

连接具有状态,对于PHP请求来说,从另一个PHP请求先前使用的会话中“继承”信息是不合适的。例如,临时表和用户变量通常在连接关闭时清除,但在使用持久性连接时不会清除。同样,基于会话的设置(例如字符集和排序规则)。另外,

LAST_INSERT_ID()
将报告会话期间最后生成的ID
,即使该ID在先前的PHP请求中也是如此。

至少对于MySQL而言,持久连接的弊端可能胜过它们的好处。还有其他更好的技术来实现高可伸缩性。


2014年3月更新:

与其他品牌的RDBMS相比,MySQL的连接速度始终很低,但它的速度甚至越来越好。

参见http://mysqlserverteam.com/improving-connectdisconnect-
performance/

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

阅读博客以获取更多详细信息和速度比较。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5043999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存