MySQL でのロックされたテーブルのクエリ
MySQL はテーブルをロックするためのさまざまなメカニズムを提供しますが、LOCK TABLE コマンドによって特にロックされたテーブルを検出することは、パフォーマンスのボトルネックを解決するための重要なタスクです。この記事では、ロックされたテーブルを識別するための信頼できる方法について詳しく説明します。
ロックされたテーブル情報の取得
GET_LOCK で取得された名前付きロックとは異なり、LOCK TABLE を使用してロックされたテーブルには、クエリのためのシンプルなメカニズム。ただし、SHOW OPEN TABLES ステートメントを利用すると、この情報を抽出するための包括的なソリューションが提供されます。
SHOW OPEN TABLES の使用
SHOW OPEN TABLES ステートメントは、開いているすべてのテーブルに関する詳細情報を返します。現在のデータベース接続内のテーブル。これには、LOCK TABLE によってロックされているテーブルだけでなく、アクティブに読み書きされているテーブルも含まれます。テーブル列とデータベース列で LIKE 演算子を使用すると、特定のテーブルとデータベースの結果をフィルターできます。さらに、In_use 列は、テーブルを現在使用している同時接続の数を示します。
クエリの例
特定のデータベースでロックされたテーブルを識別するには、次のクエリを実行します。
<code class="sql">SHOW OPEN TABLES WHERE `Table` LIKE '%[TABLE_NAME]%' AND `Database` LIKE '[DBNAME]' AND In_use > 0;</code>
[TABLE_NAME] を確認するテーブルの名前に置き換え、[DBNAME] をそのテーブルが存在するデータベースに置き換えます。このクエリは、条件に一致するロックされたテーブルごとに行を返します。
以上がMySQL で LOCK TABLE によってロックされたテーブルを識別する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。