我正在寻找一种有效的方式来使用PHP MySQL innoDB连接,但无法在网上找到确凿的信息。使用mysqli连接的最有效方式
据我所知,持续的连接比非持久一个快得多,
我们可以设置在以下方式联系:
$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的是如此聪明,它可以自动恢复默认连接,什么是很多人仍在使用非持久连接,这是更慢了点。
对不起,误解了这个问题。它不是关于创建一个持久连接,而是为了避免隐式重置。所以是的,我认为你必须通过定义'MYSQLI_NO_CHANGE_USER_ON_PCONNECT' – BNT
进行重新编译,我想知道如果持续连接有隐式的“重置”,那么我们可以像使用“非持久连接”一样使用它,对吗?网络上的很多文章表示持续连接会引入意想不到的行为,我们应该在使用之前仔细思考,但官方文档指出“重置”功能实际上可以修复那些“意外行为”,所以令人困惑 – user8100646