目前 OceanBase 数据库对于大部分常用的 DDL 操作都是支持的,并且对于所有支持的 DDL 操作也都是 OnLine 的,在执行 DDL 的过程中不会阻塞业务的读写操作。
操作 | 是否支持 | 是否 ONLINE | 是否重写数据 |
---|---|---|---|
创建/添加索引 | 是 | 是 | 是 |
删除索引 | 是 | 是 | 否 |
重命名索引 | 是 | 是 | 否 |
添加全文索引 | 否 | - | - |
添加空间索引 | 否 | - | - |
添加主键 | 否 | - | - |
删除主键 | 否 | - | - |
删除主键并添加新的主键 | 否 | - | - |
加列 | 是 | 是 | 是 |
删列 | 是 | 是 | 是 |
重命名列 | 是 | 是 | 否 |
修改列的排列顺序 | 是 | 是 | 否 |
修改列默认值 | 是 | 是 | 否 |
修改列类型(兼容类型向上修改) 例如 int 改 bigint、varchar 改 text、blob 改 long blob 等 | 是 | 是 | 是 |
修改列类型(不兼容类型修改) 例如 int 改 varchar、char 改 varchar 等 | 否 | - | - |
修改列自增列值 | 是 | 是 | 否 |
设置列约束 NULL | 是 | 是 | 否 |
设置列约束 NOT NULL | 否 | - | - |
添加外键约束 | 否 | - | - |
删除外键约束 | 是 | 是 | 否 |
修改行格式 | 是 | 是 | 是 |
修改 KEY_BLOCK_SIZE | 是 | 是 | 是 |
设置字符集 | 否 | - | - |
转换字符集 | 否 | - | - |