私はPHP MySQL innoDB接続を使用する効率的な方法を探していますが、Web上で決定的な情報を見つけることはできません。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
と私は永続的な接続が暗黙的な"リセット "を持っているのだろうか、私たちは"非永続的な接続と同じように使用することができますか?永続的な接続を言っているWeb上の多くの記事では予期しない動作が起こっているので、それを使用する前に慎重に考えるべきですが、公式ドキュメントは "リセット"機能が実際にそれらの "予期しない動作"を修正できることを示しているので、 – user8100646