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.4.1 events_waits_current テーブル

events_waits_current テーブルには、スレッドの最新のモニター対象待機イベントの現在のステータスを示すスレッドごとに 1 行で現在の待機イベントが格納されます。

events_waits_current テーブルは TRUNCATE TABLE で切り捨てることができます。

待機イベント行を格納するテーブルのうち、events_waits_current はもっとも基本的です。待機イベント行を格納するほかのテーブルは論理的に現在のイベントから派生します。たとえば、events_waits_history および events_waits_history_long テーブルは固定の行数以下の最新の待機イベントのコレクションです。

待機イベント収集の構成については、セクション22.9.4「パフォーマンススキーマ待機イベントテーブル」を参照してください。

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

  • THREAD_IDEVENT_ID

    イベントに関連付けられたスレッドとイベントの起動時のスレッドの現在のイベント番号。一緒に取得された THREAD_ID および EVENT_ID 値は、行を一意に識別する主キーを形成します。2 つの行が同じ値のペアを持つことはありません。

  • END_EVENT_ID

    このカラムは、イベントの起動時に NULL に設定され、イベントの終了時にスレッドの現在のイベント番号に更新されます。このカラムは、MySQL 5.6.4 で追加されました。

  • EVENT_NAME

    イベントを生成したインストゥルメントの名前。これは setup_instruments テーブルからの NAME 値です。セクション22.4「パフォーマンススキーマインストゥルメント命名規則」に説明するように、インストゥルメント名には複数の部分があり、階層を形成することがあります。

  • SOURCE

    イベントを生成した、インストゥルメントされたコードを格納するソースファイルの名前と、インストゥルメンテーションが行われたファイルの行番号。これにより、ソースをチェックして、コードに含まれるものを正確に判断することができます。たとえば、相互排他ロックまたはロックがブロックされた場合、これが発生するコンテキストをチェックできます。

  • TIMER_STARTTIMER_ENDTIMER_WAIT

    イベントのタイミング情報。これらの値の単位はピコ秒 (秒の 1 兆分の 1) です。TIMER_START および TIMER_END 値は、イベントのタイミングが開始されたときと終了したときを示します。TIMER_WAIT はイベントの経過時間 (期間) です。

    イベントが終了していない場合、TIMER_ENDTIMER_WAITNULL です。

    イベントが TIMED = NO のインストゥルメントから生成されている場合、タイミング情報は収集されず、TIMER_STARTTIMER_END、および TIMER_WAIT はすべて NULL になります。

    イベント時間の単位としてのピコ秒および時間値に影響する要因については、セクション22.2.3.1「パフォーマンススキーマイベントタイミング」を参照してください。

  • SPINS

    相互排他ロックの場合、スピンラウンドの数。値が NULL の場合、コードはスピンラウンドを使用しないか、スピニングがインストゥルメントされません。

  • OBJECT_SCHEMAOBJECT_NAMEOBJECT_TYPEOBJECT_INSTANCE_BEGIN

    これらのカラムは作用しているオブジェクトを識別します。その意味は、オブジェクトの種類によって異なります。

    同期オブジェクト (condmutex、および rwlock) の場合:

    • OBJECT_SCHEMAOBJECT_NAME、および OBJECT_TYPENULL です。

    • OBJECT_INSTANCE_BEGIN はメモリー内の同期オブジェクトのアドレスです。

    ファイル I/O オブジェクトの場合:

    • OBJECT_SCHEMANULL です。

    • OBJECT_NAME はファイル名です。

    • OBJECT_TYPEFILE です。

    • OBJECT_INSTANCE_BEGIN はメモリー内のアドレスです。

    ソケットオブジェクトの場合:

    • OBJECT_NAME はソケットの IP:PORT 値です。

    • OBJECT_INSTANCE_BEGIN はメモリー内のアドレスです。

    テーブル I/O オブジェクトの場合:

    • OBJECT_SCHEMA はテーブルを格納するスキーマの名前です。

    • OBJECT_NAME はテーブル名です。

    • OBJECT_TYPE は永続的ベーステーブルの TABLE または一時テーブルの TEMPORARY TABLE です。

    • OBJECT_INSTANCE_BEGIN はメモリー内のアドレスです。

    OBJECT_INSTANCE_BEGIN 値自体には、さまざまな値がさまざまなオブジェクトを示すことを除いて、意味がありません。OBJECT_INSTANCE_BEGIN はデバッグに使用できます。たとえば、それを GROUP BY OBJECT_INSTANCE_BEGIN で使用して、1,000 相互排他ロック (つまり、データの 1,000 ページまたはブロックを保護する) の負荷が均等に広がっているか、または少数のボトルネックだけに関わっているかを確認できます。これにより、ログファイルやほかのデバッグまたはパフォーマンスツールで同じオブジェクトアドレスが見られた場合に、情報のほかのソースと関連付けることができます。

  • INDEX_NAME

    使用されるインデックスの名前。PRIMARY はテーブルプライマリインデックスを示します。NULL はインデックスが使用されなかったことを意味します。

  • NESTING_EVENT_ID

    このイベントが中にネストされているイベントの EVENT_ID 値。MySQL 5.6.3 より前では、このカラムは常に NULL です。

  • NESTING_EVENT_TYPE

    ネストしているイベントの種類。値は STATEMENTSTAGE、または WAIT です。このカラムは、MySQL 5.6.3 で追加されました。

  • OPERATION

    lockread、または write などの実行される操作の種類。

  • NUMBER_OF_BYTES

    操作によって読み取りまたは書き込まれるバイト数。テーブル I/O 待機 (wait/io/table/sql/handler インストゥルメントのイベント) の場合、NUMBER_OF_BYTESNULL になります。

  • FLAGS

    将来使用するために予約されています。