Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


22.9.3.4 rwlock_instances テーブル

rwlock_instances テーブルは、サーバーの実行中にパフォーマンススキーマによって確認されるすべての rwlock インスタンス (読み取り書き込みロック) を一覧表示します。rwlock は、特定の時間にそのスレッドが、次の特定のルールに従って、一部の共通リソースにアクセスできるようにするために、コードで使用される同期メカニズムです。リソースは rwlock によって保護されていると呼ばれます。アクセスは共有されている (多くのスレッドが同時に読み取りロックを持つことができる) かまたは排他的 (特定の時間に 1 つのスレッドだけが書き込みロックを持つことができる) のいずれかです。

ロックをリクエストしているスレッドの数、およびリクエストされているロックの性質に応じて、アクセスが共有モードで許可されるか、排他モードで許可されるか、またはまったく許可されないかのいずれかになる可能性があり、まずほかのスレッドが終了するのを待機します。

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

  • NAME

    ロックに関連付けられているインストゥルメント名。

  • OBJECT_INSTANCE_BEGIN

    インストゥルメントされたロックのメモリー内のアドレス。

  • WRITE_LOCKED_BY_THREAD_ID

    スレッドが現在排他 (書き込み) モードでロックされた rwlock を持つ場合、WRITE_LOCKED_BY_THREAD_ID はロックしているスレッドの THREAD_ID になり、そうでない場合、それは NULL になります。

  • READ_LOCKED_BY_COUNT

    スレッドが現在共有 (読み取り) モードでロックされた rwlock を持つ場合、READ_LOCKED_BY_COUNT が 1 増分されます。これはカウンタのみであるため、読み取りロックを保持するスレッドを見つけるためにそれを直接使用することはできませんが、rwlock に対して読み取りの競合があるかどうかを確認し、現在アクティブなリーダー数を確認するために使用することができます。

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

  • events_waits_current、スレッドが待機している rwlock を確認する場合

  • rwlock_instancesrwlock を現在所有しているほかのスレッドを確認する場合

制限があります。rwlock_instances は、書き込みロックを保持しているスレッドの識別にのみ使用できますが、読み取りロックを保持しているスレッドの識別には使用できません。


User Comments
Sign Up Login You must be logged in to post a comment.