【问题标题】:Performance difference with using 'mysql_connect()' and without using it使用 'mysql_connect()' 和不使用它的性能差异
【发布时间】:2013-01-18 03:25:00
【问题描述】:

解释一个普通的 PHP 文件(不使用 MySQL)大约需要 0.01 毫秒。但是,如果您添加 mysql_connect()mysqli_connect() 或任何其他函数来连接到数据库,则需要更多时间来解释它。 (通常约为 1.05 毫秒)。

我测试了很多次,连接数据库时出现问题。无论您运行多少查询,它们都非常快。但是为什么连接到数据库比从数据库中查询要慢。

这里有什么问题?连接 MySQL 的最快方法是什么?

我在 Windows 7 上将 XAMP 与 Apache 和 MySQL 一起使用

【问题讨论】:

  • 这是出乎意料的结果,最好单独安装Web服务器组件...
  • 哦,是的,并且始终使用mysqli_* 优先于已弃用的mysql_* 函数:-)
  • PDO 可能是最好的选择。在你最终背上大量技术债务之前使用它,因为mysql_query 计划在未来的 PHP 版本中被删除。

标签: php mysql xampp


【解决方案1】:

当您连接到 MySQL 时,您正在打开一个套接字连接。这是通过操作系统的网络层路由的,并且对于客户端(您的代码)传递用户名和密码的每个连接都要执行握手,并且数据库引擎必须验证这些凭据。然后客户端打开到特定数据库的连接。

这被称为打开数据库连接的“开销”。

最好的解决方案是,(a) 不必担心代码中的 1 毫秒延迟,可能还有其他方法可以恢复性能优势,和/或用户甚至不会注意到 1 毫秒;或者 (b) 如果您真的必须对其进行微优化,那么您每页只连接一次,或者如果您不需要该特定页面上的连接,则根本不连接。

【讨论】:

  • 一些框架延迟加载连接,只在实际需要时才连接。也可以使用持久连接,但是你必须小心不要用太多的连接使 mysql 过载。
  • 谢谢,这可能是我在网上搜索的问题。一些软件问题。有没有办法保持这种连接,而不是每次用户请求时都连接它?
  • 这就是“持久连接”的意思:-)
猜你喜欢
  • 1970-01-01
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 2012-02-09
相关资源
最近更新 更多