文法
SHOW [FULL] DDL;
示例
mysql> show ddl\G;
*************************** 1. row ***************************
JOB_ID: 1359947811109470208
OBJECT_SCHEMA: d1
OBJECT_NAME: t2
ENGINE: DAG
DDL_TYPE: ALTER_TABLE
STATE: PAUSED
BACKFILL_PROGRESS: 0%
PHY_DDL_PROGRESS: 100%
PROGRESS: 20%
START_TIME: 2021-08-05 11:01:25.291
END_TIME: 2021-08-05 11:02:27.020
ELAPSED_TIME(MS): 61729
PHY_PROCESS:
CANCELABLE: true
1 row in set (0.03 sec)
傳回參數說明
參數名稱 | 說明 |
JOB_ID | DDL任務唯一辨別,取值需為64位有符号長整型數值。 |
OBJECT_SCHEMA | DDL任務對象的Schema名稱。 |
OBJECT_NAME | DDL任務對象名稱,例如目前執行DDL的表名稱。 |
ENGINE | DDL任務引擎類型,預設為DAG。 |
DDL_TYPE | DDL任務類型,例如, 。 |
STATE | DDL任務目前所處的狀态,具體請參見 DDL狀态 |
BACKFILL_PROGRESS | DDL任務中,資料回填的進度。 |
PHY_DDL_PROGRESS | DDL任務中,目前執行的一批實體DDL的進度。 |
PROGRESS | DDL任務的總體進度。 |
START_TIME | DDL任務開始執行的時間。 |
END_TIME | DDL任務結束執行的時間。 |
ELAPSED_TIME(MS) | DDL任務截止到任務檢視時已經消耗的時間,機關:毫秒。 |
PHY_PROCESS | 執行中的實體DDL的狀态。 |
CANCELABLE | DDL任務是否可通過 指令取消。 |
SHOW DDL指令傳回的STATE字段标示了DDL任務的狀态,狀态轉移圖如下所示:

絕大多數情況,DDL任務會按照
QUEUED->RUNNING->COMPLETED
的流程執行成功。
異常情況下,DDL任務可能會自動復原,此時的流程為
QUEUED->RUNNING->ROLLBACK_RUNNING->ROLLBACK_COMPLETED
特殊情況下,DDL任務的狀态還可以通過指令幹預,上圖中箭頭上展示的是可用于修改DDL任務狀态的指令。