OceanBase 分区表的分区管理操作(SPLIT/MERGE),以下描述正确的是?
A. SPLIT 操作可以将一个现有分区拆分成多个分区,但要求拆分后的新分区边界必须与相邻分区连续,且拆分过程中原分区的数据会按照边界重新分布,期间表处于只读状态。
B. MERGE 操作用于将相邻的两个分区合并为一个分区,合并后的分区边界取两者边界的并集(左边界取左分区的左边界,右边界取右分区的右边界),原分区数据自动合并,期间允许读写。
C. RANGE 分区支持 SPLIT 和 MERGE,LIST 分区仅支持 SPLIT 不支持 MERGE,HASH 分区两者均不支持。
D. 执行 SPLIT/MERGE 时,受影响的局部索引会在操作过程中自动重建,而全局索引需要用户手动重建才能保持可用。
1 个赞
解析 :
OceanBase 支持对 RANGE 和 LIST 分区进行 SPLIT 和 MERGE 操作(HASH 不支持,因为 HASH 分区数量变更应使用 ADD/DROP 或 COALESCE )。MERGE 两个相邻分区时,新分区的边界为原左右分区的边界范围,且操作支持在线进行(DML 不阻塞),数据自动重新分布。
-
A 错误 :SPLIT 过程中允许读写 (在线 DDL),不是只读。且拆分后新分区边界必须连续,这是正确点,但整体因“只读”而错误。
-
B 正确 :MERGE 边界规则描述正确,且在线支持读写。
-
C 错误 :LIST 分区也支持 MERGE (需相邻且值集合不重叠),而 HASH 分区通过
COALESCE PARTITION 实现类似减少分区,不是传统意义上的 MERGE。
-
D 错误 :SPLIT/MERGE 过程中,所有索引(包括全局索引)都会自动维护 ,无需用户手动重建。但全局索引可能因为数据移动而产生额外开销,系统会自动同步更新。
1 个赞