1

我正在我的 php 应用程序中设置一个数据库类,我打算使用 PDO 或 MySQLi。我在考虑持久连接,但我想知道这是否是最好的主意。我看到,与 PDO 不同,MySQLi 会自动重置连接状态mysqli_change_user()

但是,正如 PHP 手册中所述,它指出该mysqli_change_user()功能很昂贵并且可能会降低性能,但您也可以禁用它。

我目前有两个问题:

  • 持久连接是个好主意吗?如果是这样,使用 PDO 还是 MySQLi?
  • mysqli_change_user()功能是否如此昂贵以至于它抵消了使用持久连接的性能提升?如果是这样,如果您编写了正确的代码,禁用它是不是一个坏主意?
4

2 回答 2

2

持久连接是个好主意吗?

是的,一般来说。节省不应该使用的廉价共享主机。

如果是这样,使用 PDO 还是 MySQLi?

如果你想改变用户 - mysqli 是唯一的选择。如果不是 - 这无关紧要。

mysqli_change_user() 函数是否如此昂贵以至于它抵消了使用持久连接的性能提升?

我的常识告诉我,事实并非如此。

如果是这样,如果您编写了正确的代码,禁用它是不是一个坏主意?

就个人而言,我根本不会打扰。

性能问题存在一个问题。其中一些是真实的,但有些只是虚构的,不知从何而来。一件奇怪的事情——后者给开发人员留下了深刻的印象。它总是让我想知道,要花费多少时间和精力来解决一个没有人注意到或在实时应用程序上衡量的问题。

我的建议是分析您现有的应用程序(如果有的话),我打赌 100:1 您会在代码中找到几个地方,它们对性能的影响比这个想象的开销大 1000 倍。

所以,我会保留它。

于 2013-06-22T16:14:51.027 回答
0

众所周知,持久连接实际上会对性能产生不利影响。我们在高流量网站上遇到了很多麻烦。

于 2013-06-22T16:10:16.467 回答