---
title: "Online DDL 和 Offline DDL 操作 - OceanBase 数据库 V4.2.5 | OceanBase 文档中心"
description: Online DDL 和 Offline DDL 操作 OceanBase 数据库 V4.x 版本 MySQL 模式下所支持的 Online DDL 操作如下表所示。 分类 操作 耗时 备注 索引操作 增加索引 与数据量有关，需要重整数据 主要涉及全局/局部索引、全局索引带有分区和空间索引（V4.1.0 版本及以后版…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.5 LTS

# Online DDL 和 Offline DDL 操作

更新时间：2026-07-15 20:42:47

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.5/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/700.ddl-function-of-mysql-mode/150.online-and-offline-ddl-list-of-mysql-mode.md)  

OceanBase 数据库 V4.x 版本 MySQL 模式下所支持的 Online DDL 操作如下表所示。

| 分类 | 操作 | 耗时 | 备注 |
| --- | --- | --- | --- |
| 索引操作 | 增加索引 | 与数据量有关，需要重整数据 | 主要涉及全局/局部索引、全局索引带有分区和空间索引（V4.1.0 版本及以后版本支持）。 |
| 索引操作 | 删除索引 | 与是否有活跃事务有关 | 暂无 |
| 索引操作 | 重命名索引 | 只需要修改元数据 | 暂无 |
| 索引操作 | 混合索引操作 | 与耗时最长的操作有关 | 例如 `ALTER TABLE t1 ADD INDEX i4(c1), DROP INDEX i2, RENAME INDEX i1 TO i1x`。 |
| 列操作 | 末尾加列 | 只需要修改元数据 | 例如增加 `LOB`（`TEXT`） 列，`ALTER TABLE tbl1 ADD c3 LOB`。 |
| 列操作 | 中间加列（`BEFORE`/`AFTER`/`FIRST`） | 只需要修改元数据 | Oracle 模式不支持 |
| 列操作 | 添加 `VIRTUAL` 列 | 只需要修改元数据 | 暂无 |
| 列操作 | 修改列为 `NOT NULL` | 与数据量有关，需要重整数据 | 暂无 |
| 列操作 | 修改列为 `NULL` | 只需要修改元数据 | 暂无 |
| 列操作 | 设列默认值 | 只需要修改元数据 | 暂无 |
| 列操作 | 删除列默认值 | 只需要修改元数据 | 暂无 |
| 列操作 | 修改自增列值 | 只需要修改元数据 | 暂无 |
| 列操作 | 重命名列 | 只需要修改元数据 | 暂无 |
| 列操作 | 增加列类型长度或精度 | 只需要修改元数据 | 例如 `INT` 长度增长、`VARCHAR` 变长、`NUMBER` 类转换。 |
| 列操作 | 混合列操作 | 与耗时最长的操作有关 | 如果有 Offline 列操作，会升级成 Offline DDL。 |
| 外键约束操作 | 增加外键、`CHECK`/`NOT NULL` 约束 | 与数据量有关，需要查询数据。 | 暂无 |
| 外键约束操作 | 删除外键、`CHECK`/`NOT NULL` 约束 | 与数据量有关，需要查询数据。 | 暂无 |
| 表操作 | 重命名表 | 只需要修改元数据 | 暂无 |
| 表操作 | 修改行格式 | 只需要修改元数据 | 暂无 |
| 表操作 | 修改块大小 | 只需要修改元数据 | 暂无 |
| 表操作 | 修改压缩算法 | 只需要修改元数据 | 暂无 |
| 表操作 | 优化表空间 | 只需要修改元数据 | 暂无 |
| 分区操作 | 添加分区 | 只需要修改元数据 | 暂无 |

OceanBase 数据库 V4.x 版本 MySQL 模式下所支持的 Offline DDL 操作如下表所示。

| 分类 | 操作 | 耗时 | 备注 |
| --- | --- | --- | --- |
| 列操作 | 重排列（`BEFORE`/`AFTER`/`FIRST`） | 与数据量有关，需要重整数据 | Oracle 模式不支持 |
| 列操作 | 添加自增列 | 与数据量有关，需要重整数据 | 暂无 |
| 列操作 | 修改为自增列 | 与数据量有关，需要查询数据 | 暂无 |
| 列操作 | 修改列类型 | 与数据量有关，需要重整数据 | Oracle 模式不支持 |
| 列操作 | 修改列为主键 | 与数据量有关，需要重整数据 | 暂无 |
| 列操作 | 添加/删除 `STORED` 生成列 | 与数据量有关，需要重整数据 | 暂无 |
| 列操作 | 删除列 | 与数据量有关，需要重整数据 | 暂无 |
| 列操作 | 删除 `VIRTUAL` 列 | 与数据量有关，需要重整数据 | 暂无 |
| 列操作 | 混合列操作 | 与数据量有关，需要重整数据 | 暂无 |
| 主键操作 | 添加/删除主键 | 与数据量有关，需要重整数据 | 暂无 |
| 表操作 | `TRUNCATE` 表 | 与是否有活跃事务有关 | 暂无 |
| 表操作 | 转换字符集 | 与数据量有关，需要重整数据 | Oracle 模式不支持 |
| 表操作 | 删除表 | 与是否有活跃事务有关 | 暂无 |
| 分区操作 | 修改分区规则 | 与数据量有关，需要重整数据 | 暂无 |
| 分区操作 | 删除分区 | 与是否有活跃事务有关 | 对该分区加分区级的表锁。 |
| 分区操作 | `TRUNCATE` 分区 | 与是否有活跃事务有关 | 对该分区加分区级的表锁。 |

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
