目前 OceanBase 数据库对于大部分常用的 DDL 操作都是支持的,并且对于所有支持的 DDL 操作也都是 OnLine 的,在执行 DDL 的过程中不会阻塞业务的读写操作。

    操作

    是否支持

    是否 ONLINE

    是否重写数据

    创建/添加索引

    删除索引

    重命名索引

    添加全文索引

    -

    -

    添加空间索引

    -

    -

    添加主键

    -

    -

    删除主键

    -

    -

    删除主键并添加新的主键

    -

    -

    加列

    删列

    重命名列

    修改列的排列顺序

    修改列默认值

    修改列类型(兼容类型向上修改)

    例如 int 改 bigint、varchar 改 text、blob 改 long blob 等

    修改列类型(不兼容类型修改)

    例如 int 改 varchar、char 改 varchar 等

    -

    -

    修改列自增列值

    设置列约束 NULL

    设置列约束 NOT NULL

    -

    -

    添加外键约束

    -

    -

    删除外键约束

    修改行格式

    修改 KEY_BLOCK_SIZE

    设置字符集

    -

    -

    转换字符集

    -

    -