MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  MySQL パフォーマンススキーマ  /  パフォーマンススキーマの原子的および分子的イベント

27.8 パフォーマンススキーマの原子的および分子的イベント

テーブル I/O イベントの場合、events_waits_current には通常 1 行ではなく、2 行あります。 たとえば、行フェッチにより、次のような行になる可能性があります。

Row# EVENT_NAME                 TIMER_START TIMER_END
---- ----------                 ----------- ---------
   1 wait/io/file/myisam/dfile        10001 10002
   2 wait/io/table/sql/handler        10000 NULL

行フェッチによりファイルが読み取られます。 例では、テーブル I/O フェッチイベントがファイル I/O イベントの前に起動していますが、終了していません (その TIMER_END 値が NULL です)。 ファイル I/O イベントはテーブル I/O イベント内にネストされます。

これは、相互排他ロックやファイル I/O などのほかの原子的待機イベントと異なり、テーブル I/O イベントは分子的で、ほかのイベントを含んで (重複して) います。 events_waits_current で、テーブル I/O イベントには通常 2 つの行があります。

  • 最新のテーブル I/O 待機イベントについての 1 行

  • 任意の種類の最新の待機イベントについての 1 行

通常、ただし常にではありませんが、どの種類の待機イベントもテーブル I/O イベントと異なります。 各従属イベントが完了すると、それは events_waits_current から消去されます。 この時点で、および次の従属イベントが開始されるまで、テーブル I/O 待機は、あらゆる種類の最新の待機でもあります。


関連キーワード:  テーブル, パフォーマンス, スキーマ, イベント, events, replication, 待機, history, waits, 変数