29.8 События Performance Schema атомного и молекулярного типов
Для события ввода-вывода таблицы обычно в таблице 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
Запрос строк вызывает чтение файла. В примере, событие запроса ввода-вывода таблицы началось до события ввода-вывода файла, но не завершилось (его значение TIMER_END равно NULL). Событие ввода-вывода файла “вложено” в событие ввода-вывода таблицы.
Это происходит потому, что, в отличие от других событий ожидания “атомарного” типа, таких как для мьютексов или ввода-вывода файлов, события ввода-вывода таблицы являются “молекулярными” и включают (перекрываются) другие события. В таблице events_waits_current событие ввода-вывода таблицы обычно имеет две строки:
Одна строка для последнего события ожидания ввода-вывода таблицы
Одна строка для последнего события ожидания любого типа
Обычно, но не всегда, событие ожидания “любого типа” отличается от события ввода-вывода таблицы. По мере завершения каждого дочернего события, оно исчезает из events_waits_current. В этот момент, и до начала следующего дочернего события, событие ожидания ввода-вывода таблицы также является последним событием ожидания любого типа.
© 2025 Oracle
Licensed under the GPLv2 License.