使用mysqli连接的最有效方法

时间:2017-08-04 07:41:31

标签: php mysqli innodb

我正在寻找一种使用PHP MySQL innoDB连接的有效方法,但却无法在网上找到确凿的信息。

据我所知,持久连接比非持久连接快得多,

我们可以通过以下方式设置连接:

$instance_mysqli = new mysqli('p:127.0.0.1', 'username', 'password', 'db');

然而,从官方网站上,它说默认行为是"重置"在重用,这是较慢的。 http://php.net/manual/en/mysqli.persistconns.php

  

mysqli扩展通过自动调用来完成此清理   C-API函数mysql_change_user()。自动清理功能有   但优点和缺点。优点是   程序员不再需要担心添加清理代码了   被自动调用。但是,缺点是代码   可能会慢一点,作为执行代码的代码   每次从中返回连接时都需要运行清理   连接池。

所以,没有办法将参数传递给上面的构造函数以避免"重置"?唯一的方法是从文档建议的源代码中重新编译扩展名吗?

我的另一个问题是......如果mysqli非常聪明,默认情况下它可以自动重置连接,那么很多人仍然使用非持久连接,这甚至更慢。

1 个答案:

答案 0 :(得分:2)

连接的成本非常小,无论是否持久,是否有清理。

通常,应该在程序开头获取一个连接,并保持到结束。 (有一些例外。)

唯一一次真正引起连接的是你在每个SQL查询之前获得连接。

底线:担心您的索引,系统设计等,而不是获取连接。