跳到主要内容
版本:Latest-4.1

SHOW ALTER TABLE

功能​

查询正在进行的 Alter table 操作的执行情况,包括:

  • 修改列。
  • 优化表结构(自 3.2 版本起),包括修改分桶方式和分桶数量。
  • 创建和删除 rollup index。
  • 修改存算分离(cloud-native)表的元数据属性,例如 file_bundling、enable_persistent_index、persistent_index_type 和 compaction_strategy。此类操作以异步方式执行,并通过 COLUMN 查询。

语法​

  • 查询修改列或者优化表结构的操作执行情况。

    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>]
    [WHERE <where_condition> ] [ORDER BY <col_name> [ASC | DESC]] [LIMIT <num>]

参数说明​

  • {COLUMN | OPTIMIZE | ROLLUP}:从 COLUMN、OPTIMIZE 和 ROLLUP 中必选其中一个。

    • 如果指定了 COLUMN,该语句用于查询修改列的操作。对于存算分离(cloud-native)表,该语句还会显示由 ALTER TABLE ... SET (...) 触发的异步元数据变更操作,例如修改 file_bundling、enable_persistent_index、persistent_index_type 或 compaction_strategy。
    • 如果指定了 OPTIMIZE,该语句用于查询优化表结构操作(修改分桶方式和分桶数量)。
    • 如果指定了 ROLLUP,该语句用于查询创建或删除 rollup index 的操作。
  • 支持使用如下子句:

    • WHERE <where_condition>:根据操作的 TableName、CreateTime、完成时间和 State 过滤出满足条件的操作。
    • ORDER BY <col_name> [ASC | DESC]:根据操作的 TableName、CreateTime、完成时间和 State 对返回结果中的操作进行排序。
    • LIMIT <num>:返回指定个数的操作。

    完成时间这一列,COLUMN 和 OPTIMIZE 返回的列名是 FinishTime,ROLLUP 返回的是 FinishedTime;ROLLUP 两种写法都接受。

  • db_name:可选。如果不指定,则默认使用当前数据库。

示例​

  1. 查询当前数据库中所有修改列操作和优化表结构操作,以及创建或删除 rollup index 操作的执行情况。

    SHOW ALTER TABLE COLUMN;
    SHOW ALTER TABLE OPTIMIZE;
    SHOW ALTER TABLE ROLLUP;
  2. 查询指定数据库中修改列操作和优化表结构操作,以及创建或删除 rollup index 操作的执行情况。

    SHOW ALTER TABLE COLUMN FROM example_db;
    SHOW ALTER TABLE OPTIMIZE FROM example_db;
    SHOW ALTER TABLE ROLLUP FROM example_db;
  3. 查询指定表中最近一次修改列操作、优化表结构操作或者创建 rollup index 操作的执行情况。

    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;
    SHOW ALTER TABLE ROLLUP WHERE TableName = "table1" ORDER BY CreateTime DESC LIMIT 1;

相关参考​

Rocky the happy otterStarRocks Assistant

AI generated answers are based on docs and other sources. Please test answers in non-production environments.