- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有这个疑问,我在网上搜索过,答案似乎多种多样。通过 PHP 连接到数据库时,使用 mysql_pconnect 而不是 mysql_connect 更好吗?我读到 pconnect 的扩展性要好得多,但另一方面,作为一个持久连接......同时拥有 10 000 个连接,所有连接都是持久的,对我来说似乎无法扩展。
提前致谢。
最佳答案
MySQL 不需要持久连接。在其他数据库(如 Oracle)中,建立连接既昂贵又耗时,因此如果您可以重用连接,那将是一个巨大的胜利。但是这些品牌的数据库提供了连接池,可以更好地解决问题。
与其他品牌的数据库相比,与 MySQL 数据库建立连接的速度更快,因此使用持久连接对 MySQL 的好处比其他品牌的数据库要少。
持久连接也有缺点。数据库服务器为每个连接分配资源,无论这些连接是否需要。因此,如果连接处于空闲状态,您会看到大量无用的资源浪费。我不知道你是否会达到 10,000 个空闲连接,但即使是几百个也很昂贵。
连接具有状态,PHP 请求不适合从另一个 PHP 请求先前使用的 session 中“继承”信息。例如,临时表和用户变量通常会在连接关闭时被清理,但如果您使用持久连接则不会。同样基于 session 的设置,如字符集和排序规则。此外,LAST_INSERT_ID()
会报告 session 期间最后生成的 id——即使那是在之前的 PHP 请求期间。
至少对于 MySQL,持久连接的缺点可能超过了它们的好处。还有其他更好的技术可以实现高可扩展性。
2014 年 3 月更新:
与其他品牌的 RDBMS 相比,MySQL 的连接速度一直较低,但正在变得更好。
见 http://mysqlserverteam.com/improving-connectdisconnect-performance/
In MySQL 5.6 we started working on optimizing the code handling connects and disconnects. And this work has accelerated in MySQL 5.7. In this blog post I will first show the results we have achieved and then describe what we have done to get them.
阅读博客了解更多详细信息和速度比较。
关于php - mysql_connect 和 mysql_pconnect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/247807/
我们知道,当脚本执行结束时,与 SQL 服务器的连接不会关闭。相反,该链接将保持打开状态以供将来使用(mysql_close() 不会关闭由 mysql_pconnect() 建立的链接)。 那么 m
我创建了一个 php 连接文件作为 explorecalirfornia.php 内容,如下所示。 #FileName="Connection_php_mysql.htm" # Type="MYSQL
我阅读了 PHP 函数 mysql_pconnect 的规范。“mysql_pconnect是即使脚本练习完成,与SQL服务器的连接也没有关闭”。 除非连接被关闭,否则连接会一直保持到mysql重新启
我从未只使用过持久性 mysql_pconnect 函数 mysql_connect() 但现在我想将数据库放在它自己的服务器上但想知道它是否可以安全用于生产或我应该注意的任何问题/备份? 澄清当神秘
我在 php 执行期间遇到错误,我认为这是由于较新的 php 5.5 引起的。 Deprecated: mysql_pconnect(): The mysql extension is depreca
我有这个代码: $hostname = "localhost"; $database = "listings"; $username = "joe"; $password = "1234"; $my_
我一直在使用 mysql_pconnect 在我的 PHP 站点上建立所有数据库连接,理论上它更有效(值得商榷,我知道)。 我使用 mysql_insert_id 从最近的 INSERT 中获取 ID
我是一个 PHP 新手,正在编写一些脚本来显示数据库中的一些新闻文章,并且想了解一些事情。 要打开与 MySQL 数据库的连接,mysql_connect 或 mysql_pconnect 哪个更好?
已结束。 这个问题是 not reproducible or was caused by typos .它目前不接受答案。 此问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-to
我是一个 PHP 新手,正在编写一些脚本来显示数据库中的一些新闻文章,并且想了解一些事情。 要打开与 MySQL 数据库的连接,mysql_connect 或 mysql_pconnect 哪个更好?
抱歉,如果这看起来是一个基本问题:但是使用 mysql_pconnect 与 odbc_connect 连接到 MySQL 数据库之间有什么区别? odbc_connect 的设计是否可以移植到其他数
我有一个游戏,分为 3 个世界。今天我在我的游戏中更新了世界 3。 更新 mysql_pconnect 后随机更改选定的数据库,尽管我已经设置了数据库“s3”。在我的网站上几秒钟后,我看到了来自数据库
我最近向我的网站添加了一个 SSL 证书,当它激活后,我在尝试查看登录墙后面的页面时遇到以下错误: Warning: mysql_pconnect(): Access denied for user
简短描述: 我们在不同的区域有多个用于 mysql 的独立数据库实例 (rdbms) 和每个 RESTAPI 服务器。每个 RESTAPI 服务器都需要连接其他数据库实例来获取数据。 我们现在也无法继
我构建了一个应用程序(MySQL/PHP),它(及时)可能会使用到远程(并且可能很慢)MySQL 服务器的连接。该应用程序使用 AJAX 耳语,频繁打开数据库连接。我做了一些客户端优化,但从未有足够的
我已将我的 codeigniter 版本从 2.2.4 逐步更新到 3.0.6,但出现错误: An uncaught Exception was encountered Type: Error Mes
这个问题已经有答案了: Deprecated: mysql_pconnect(): (4 个回答) 已关闭 6 年前。 抱歉,我对 PHP 不太了解,我需要一些帮助,将网站从一台服务器迁移到另一台服务
写了这么多文字只是想提前道歉。这是问题所在:我使用持久连接连接到数据库,wait_timeout 为 60 秒,并将 session 数据存储在 MySQL 表中。我遇到的问题是 session 似乎
这个问题已经有答案了: Fatal error: Uncaught Error: Call to undefined function mysql_connect() (9 个回答) 上个月关闭。 F
我在 Codeigniter 中遇到了这些错误。 Fatal error: Uncaught Error: Call to undefined function mysql_pconnect() in
我是一名优秀的程序员,十分优秀!