我在我的php应用程序中设置了一个数据库类,我打算使用PDO或MySQLi。
我在考虑持久的联系,但我想知道这是不是最好的主意。我看到,与PDO不同,MySQLi自动重置与mysqli_change_user()
的连接状态。
但是,as noted in the PHP manual,它指出mysqli_change_user()
功能很昂贵,可能会降低性能,但您也可以将其禁用。
我目前有两个问题:
mysqli_change_user()
函数是否如此昂贵以至于无法使用持久连接的性能提升?如果是这样,如果您编写了正确的代码,禁用它是不是一个坏主意?答案 0 :(得分:2)
持久连接是个好主意吗?
是的,总的来说。除了您不应该使用它的廉价共享主机。
如果是这样,使用PDO还是MySQLi?
如果你想改变用户 - mysqli是唯一的选择。如果不是 - 这是无关紧要的。
mysqli_change_user()函数是否如此昂贵以至于无法使用持久连接的性能提升?
我的常识告诉我它不是。
如果是这样,如果您编写了正确的代码,禁用它是不是一个坏主意?
就个人而言,我根本不会打扰。
性能问题存在一个问题。其中一些是真实的,但有些只是虚构的,无处不在。一件奇怪的事 - 后者给开发者留下了极大的印象。它总是让我怀疑,花了多少时间和精力来解决在实际应用中没有人注意到或测量过的问题。
我建议您分析现有的应用程序(如果有的话),我打赌100:1您会在代码中找到几个位置,这些位置对性能的影响比这个假想的费用高1000倍。
所以,我会保留它。
答案 1 :(得分:1)
通常已知持久连接实际上会对性能产生负面影响。我们在高流量网站上遇到了很多麻烦。