Documentation Home
MySQL 8.0 参考手册  / 第 27 章 MySQL 性能模式  /  22.8 性能模式原子和分子事件

22.8 性能模式原子和分子事件

对于表 I/O 事件,通常有两行 events_waits_current,而不是一行。例如,行提取可能会产生如下行:

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 事件通常有两行:

  • 一行用于最近的表 I/O 等待事件

  • 一行用于任何类型的最近等待事件

通常,但并非总是,任何类型的等待事件不同于表 I/O 事件。随着每个附属事件的完成,它会从 中消失 events_waits_current。此时,直到下一个附属事件开始,表 I/O 等待也是任何类型的最近等待。