2 つのプロセスが同じ MySQL 接続を共有しています (再接続のオーバーヘッドを節約するため)。つまり、一方のプロセスが現在接続を使用している場合、他方のプロセスはその接続を使用しません。
これには問題があります: プロセス A は、保留中のトランザクション、またはいくつかのテーブルがロックされている一時テーブルで接続を離れることがあります。この「歴史」を扱う必要があります。
私がやりたいのは、プロセスに渡される直前に接続をクリアすることです。つまり、直前に他のプロセスによって行われた接続の使用にリンクされている現在のデータをすべてクリアします。
一部の投稿では(APIを使用して)実行することを推奨していますが、可能であれば(クエリのような)MySQLコマンドを使用することを好みます(FLUSH
またはRESET
に似ていますが、それで必要なことは実行できます)
mysql_change_user(connection, user, password[, db])
質問
- 接続をクリアするより良い方法はありますか?
- 「ユーザーの変更」を行うことは、新しい接続を作成するよりも優れていますか (パフォーマンスに関して) ?