MySQL 9.0 發行說明
對於表格 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 等待也是任何種類的最近等待。