HotDB的ONLINEDDL特色语法

2022-05-09 00:00:00 语句 执行 专区 订阅 显示

OnlineDDL

计算节点管理端(3325)支持OnlineDDL功能,保证了在进行表变更时,不会堵塞线上业务读写,库依然能正常对外提供访问,具体使用方法如下:

  1. 登录3325端管理端口,使用onlineddl"[DDLSTATEMENT]"语法可以执行onlineddl语句,例如:onlineddl “alter table customer add column testddl varchar(20) default ‘测试onlineddl’”;
  2. 执行show @@onlineddl语句,即可显示当前正在运行的OnlineDDL语句及语句执行速度,progress显示当前DDL执行进度(单位:%),speed显示为当前DDL运行速度(单位:行/ms),例如:
    mysql> show @@onlineddl;
    ±-------------±------------------------------------------------------------------------------±---------±--------+
    | schema | onlineddl
    | progress | speed |
    ±-------------±------------------------------------------------------------------------------±---------±--------+
    | TEST_DML_JWY | ALTER TABLE CUSTOMER ADDCOLUMN TESTDDL VARCHAR(20) DEFAULT ‘测试ONLINEDDL’ | 0.2300 | 23.3561 |
    ±-------------±------------------------------------------------------------------------------±---------±--------+

特殊说明:onlineddl 语句不是执行下去就代表DDL完成,返回了“Query OK, 0 rows affected ”仅代表DDL语句可以执行,如果看是否执行完成,要查看 show @@onlineddl中的progress显示的进度。show @@onlineddl结果为空时,代表所有DDL执行完毕当前无其他DDL任务,如果中途因为网络或其他异常DDL中断,会回滚整个DDL;

来源 https://www.modb.pro/db/81748

相关文章