Столбец TIME_MS в INFORMATION_SCHEMA.PROCESSLIST
В MariaDB дополнительный столбец TIME_MS был добавлен в таблицу INFORMATION_SCHEMA.PROCESSLIST. Этот столбец отображает ту же информацию, что и столбец 'TIME', но в единицах миллисекунд с микросекундной точностью (единица и точность столбца TIME составляют одну секунду).
Подробную информацию о поддержке микросекунд в MariaDB см. в статье микросекунды в MariaDB.
Значение, отображаемое в столбцах TIME и TIME_MS, представляет собой период времени, в течение которого данный поток находился в текущем состоянии. Таким образом, его можно использовать, например, для проверки того, как долго поток выполнял текущий запрос, или как долго он был в состоянии ожидания.
select id, time, time_ms, command, state from information_schema.processlist, (select sleep(2)) t; +----+------+----------+---------+-----------+ | id | time | time_ms | command | state | +----+------+----------+---------+-----------+ | 37 | 2 | 2000.493 | Query | executing | +----+------+----------+---------+-----------+
Обратите внимание, что в отличие от MySQL, в MariaDB столбец TIME (а также столбец TIME_MS) не зависит от настроек @TIMESTAMP. Это означает, что его можно надежно использовать также для потоков, которые изменяют @TIMESTAMP (например, поток SQL репликации). См. также ошибку MySQL #22047.
Вследствие этого, столбец TIME таблиц SHOW FULL PROCESSLIST и INFORMATION_SCHEMA.PROCESSLIST не может использоваться для определения отставания ведомого сервера. Для этого используйте вместо этого столбец Seconds_Behind_Master в выводе команды SHOW SLAVE STATUS.
Добавление столбца TIME_MS основано на патче microsec_process, разработанном компанией Percona.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/time_ms-column-in-information_schemaprocesslist/