
# Online DDL及其操作
传统DDL操作执行期间表无法对外提供读写服务，因此可能导致长时间业务中断。在线DDL支持对正常业务影响较小的情况下进行DDL操作，以减少对业务的影响，提高业务运行的连续性和数据库的可用性。
![](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
对业务数据结构的增、删、改操作可能造成实例或业务异常，请谨慎操作。
在线DDL支持通过ONLINE关键字实现在线修改列类型、精度、长度缩减、char类型长度扩长、表级在线移动表空间、在线加非空/检查/主键/唯一约束、在线VACUUM FULL。在线DDL仅在执行前期和后期短暂加排他锁，不会长时间阻塞并发读写业务。请参见[ALTER TABLE](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0509.html#ZH-CN_TOPIC_0000002527986126)和[VACUUM](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0698.html#ZH-CN_TOPIC_0000002527826282)。
当前支持的Online DDL如[表1]所示。
 表1支持的Online DDL介绍 
| 分类     | 操作                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 耗时                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 备注                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| 列操作    | 支持以下相关操作： - 添加列：设置列默认值为表达式。  - 删除列。  - 重命名列。  - 设置和删除列的默认值。  - 修改列长度。  - 修改列精度。  - 修改列类型。  - 修改ENUM/SET列定义。   | - 当需要重整数据时，耗时与数据量相关。  - 当仅修改元数据时，耗时与数据量无关。   | 修改列类型、精度、长度缩减和CHAR类型长度扩长时，需要结合ONLINE关键字实现。                                                                                                                                                                                                                        |
| 表操作    | 支持以下相关操作： - 表级在线移动表空间。  - 重命名表。  - 指定字符集。  - 删除表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | - 当需要移动数据时，耗时与数据量相关。  - 当仅修改元数据时，耗时与数据量无关。       | 表级在线移动表空间时，需要结合ONLINE关键字实现。                                                                                                                                                                                                                                       |
| 表空间操作  | 支持以下相关操作： - 重命名表空间。  - 修改表空间所有者。  - 删除表空间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 仅修改元数据时，耗时与数据量无关。                                                                                                                                                                                                                                                                                                                                                                                                                                    | -                                                                                                                                                                                                                                                                 |
| 约束操作   | 支持以下相关操作： - 添加非空、检查、唯一、主键约束。  - 设置列约束为NULL。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | - 当需要查询数据时，耗时与数据量相关。  - 当仅修改元数据时，耗时与数据量无关。            | 添加非空、检查、唯一、主键约束时，需要结合ONLINE关键字实现。                                                                                                                                                                                                                                 |
| 分区操作   | 支持添加分区、删除分区、截断分区、行迁移开关、设置分区索引不可用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 仅修改元数据时，耗时与数据量无关。                                                                                                                                                                                                                                                                                                                                                                                                                                    | -                                                                                                                                                                                                                                                                 |
| 回收存储空间 | VACUUM FULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 需要重整数据，耗时与数据量相关。                                                                                                                                                                                                                                                                                                                                                                                                                                     | 回收存储空间时，需要结合ONLINE关键字实现。                                                                                                                                                                                                                                          |
| 索引操作   | 支持创建索引CONCURRENTLY、重建索引CONCURRENTLY。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 需要查询数据，耗时与数据量相关。                                                                                                                                                                                                                                                                                                                                                                                                                                     | 索引相关操作，请参见[CREATE INDEX](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0549.html#ZH-CN_TOPIC_0000002527986148)、[REINDEX](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0661.html#ZH-CN_TOPIC_0000002559105961)。 |
   
