OceanBase 中,DDL 执行模式,Online DDL 的特点是() A. DDL 执行期间业务 DML 完全不可执行 B. 业务读写不受锁表影响,后台完成表结构变更 C. Online DDL 执行不需要占用资源单元 D. 所有 DDL 语句都支持 Online 模式

OceanBase 中,DDL 执行模式,Online DDL 的特点是()
A. DDL 执行期间业务 DML 完全不可执行
B. 业务读写不受锁表影响,后台完成表结构变更
C. Online DDL 执行不需要占用资源单元
D. 所有 DDL 语句都支持 Online 模式

正确答案是 B

OceanBase 的 Online DDL 特性,其核心目的就是为了在业务不停机、不中断读写的情况下,在线完成表结构变更。

关于其他选项的分析:

  • A. DDL 执行期间业务 DML 完全不可执行 :错误。这正是 Online DDL 所要避免的。它的目标就是让 DML (数据的增删改查) 操作与 DDL 可以并发执行,不受影响。
  • C. Online DDL 执行不需要占用资源单元 :错误。Online DDL 虽然在后台执行,但依然会消耗 CPU、IO 和内存等资源。在执行大表 DDL 时,仍需关注其对业务流量的潜在影响,建议在业务低峰期操作。
  • D. 所有 DDL 语句都支持 Online 模式 :错误。并非所有 DDL 都是在线操作。OceanBase 中,像“在表中间加列 (BEFORE/AFTER/FIRST)”这类需要重写全表数据的操作,在特定版本或模式下可能不是 Online 的。添加 ONLINE 关键字可以显式指定,但能否真正“在线”仍取决于具体的 DDL 类型。

一点补充 :OceanBase 在执行某些无需重写数据的 DDL(如在表末尾加列)时,会采用更高效的“原地 DDL”模式,只需修改元数据,速度极快,对业务影响更小。