mysqli 拡張モジュールでの持続的接続持続的接続とは、クライアントプロセスとデータベースとの間の接続を 何度も作っては破棄するかわりにクライアントプロセス側で再利用しようというものです。 これにより、必要なときに毎回新規接続を作成するというオーバーヘッドが軽減でき、 未使用の接続はキャッシュされて再利用できるようになります。
他の mysql 用拡張モジュールとは異なり、mysqli には持続的接続のオープン専用の関数はありません。
持続的な接続をオープンするには、接続時にホスト名の前に
持続的接続の問題は、予期せぬ状態でクライアント側に残ってしまう可能性があるということです。
たとえば、テーブルロックを行った状態でクライアントが突然終了してしまったとしましょう。
新しいクライアントプロセスがこの持続的接続を使用する際には、
しかし、
これにより、コネクションプールから取得する接続がクリーンな状態であることが確実になり、 そのままクライアントプロセスで使用できるようになります。
しかし、自動クリーンアップ処理にはいい面もあれば悪い面もあります。 利点としては、プログラマがクリーンアップのコードを書くことを気にせずにすむということがあります。 自動的にコールされるからです。しかし、多少動作が遅くなるという 可能性 もあります。 接続がコネクションプールに戻される際に毎回クリーンアップが必要となるからです。
自動クリーンアップのコードを無効にしたい場合は、
|