SHOW ALTER TABLE
功能
查询正在进行的 Alter table 操作的执行情况,包括:
- 修改列。
- 优化表结构(自 3.2 版本起),包括修改分桶方式和分桶数量。
- 创建和删除 rollup index。
语法
-
查询修改列或者优化表结构的操作执行情况。
SHOW ALTER TABLE { COLUMN | OPTIMIZE } [FROM <db_name>]
[WHERE <where_condition> ] [ORDER BY <col_name> [ASC | DESC]] [LIMIT <num>] -
查询创建和删除 rollup index 的操作执行情况。
SHOW ALTER TABLE ROLLUP [FROM <db_name>]
参数说明
{COLUMN | OPTIMIZE | ROLLUP}
:从COLUMN
、OPTIMIZE
和ROLLUP
中必选其中一个。- 如果指定了
COLUMN
,该语句用于查询修改列的操作。 - 如果指定了
OPTIMIZE
,该语句用于查询优化表结构操作(修改分桶方式和分桶数量)。 - 如果指定了
ROLLUP
,该语句用于查询创建或删除 rollup index 的操作。
- 如果指定了
- 当指定了
COLUMN
或者OPTIMIZE
查询修改列或者优化表结构操作时,支持使用如下子句:WHERE <where_condition>
:根据操作的TableName
、CreateTime
、FinishTime
和State
过滤出满足条件的操作。ORDER BY <col_name> [ASC | DESC]
:根据操作的TableName
、CreateTime
、FinishTime
和State
对返回结果中的操作进行排序。LIMIT <num>
:返回指定个数的操作。
db_name
:可选。如果不指定,则默认使用当前数据库。
示例
-
查询当前数据库中所有修改列操作和优化表结构操作,以及创建或删除 rollup index 操作的执行情况。
SHOW ALTER TABLE COLUMN;
SHOW ALTER TABLE OPTIMIZE;
SHOW ALTER TABLE ROLLUP; -
查询指定数据库中修改列操作和优化表结构操作,以及创建或删除 rollup index 操作的执行情况。
SHOW ALTER TABLE COLUMN FROM example_db;
SHOW ALTER TABLE OPTIMIZE FROM example_db;
SHOW ALTER TABLE ROLLUP FROM example_db; -
查询指定表中最近一次修改列操作或者优化表结构操作的执行情况。
SHOW ALTER TABLE COLUMN WHERE TableName = "table1" ORDER BY CreateTime DESC LIMIT 1;
SHOW ALTER TABLE OPTIMIZE WHERE TableName = "table1" ORDER BY CreateTime DESC LIMIT 1;