MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

27.12.3.3 mutex_instances テーブル

mutex_instances テーブルは、サーバーの実行中にパフォーマンススキーマによって確認されるすべての相互排他ロックを一覧表示します。 相互排他ロックは、特定の時間に 1 つだけのスレッドが特定の共通リソースにアクセスできるようにする、コードで使用される同期メカニズムです。 リソースは相互排他ロックによって保護されていると呼ばれます。

サーバーで実行されている 2 つのスレッド (たとえば、クエリーを同時に実行する 2 つのユーザーセッション) が同じリソース (ファイル、バッファまたは一部のデータ) にアクセスする必要がある場合、これらの 2 つのスレッドは互いに競合するため、mutex でロックを取得する最初のクエリーによって、最初のクエリーが完了するまで待機し、mutex のロックを解除します。

相互排他ロックの保持中に実行される作業はクリティカルセクションにあると呼ばれ、複数のクエリーがこのクリティカルセクションを連続して (一度に 1 つずつ) 実行するため、これは潜在的なボトルネックになります。

mutex_instances テーブルにはこれらのカラムがあります。

mutex_instances テーブルには次のインデックスがあります:

TRUNCATE TABLE は、mutex_instances テーブルに対して許可されていません。

コードにインストゥルメントされた各相互排他ロックについて、パフォーマンススキーマは次の情報を提供します。

次の両方のテーブルに対してクエリーを実行することによって、モニタリングアプリケーションまたは DBA は相互排他ロックを伴うスレッド間のボトルネックやデッドロックを検出できます。