-- 当前
SELECT
stmt.SQL_TEXT AS sql_text, stage.EVENT_NAME,
CONCAT(WORK_COMPLETED, '/', WORK_ESTIMATED) AS progress,
(stage.TIMER_END - stmt.TIMER_START) / 1E12 AS current_seconds,
(stage.TIMER_END - stmt.TIMER_START) / 1E12 * (WORK_ESTIMATED - WORK_COMPLETED) / WORK_COMPLETED AS remaining_seconds
FROM
events_stages_current stage,
events_statements_current stmt
WHERE
stage.THREAD_ID = stmt.THREAD_ID
AND stage.NESTING_EVENT_ID = stmt.EVENT_ID;
-- 历史
SELECT
THREAD_ID,
EVENT_NAME,
SOURCE,
sys.format_time(TIMER_WAIT) AS exec_time,
WORK_COMPLETED,
WORK_ESTIMATED
FROM
performance_schema.events_stages_history_long
WHERE
thread_id = sys.ps_thread_id(CONNECTION_ID());