关于 OceanBase 表组(Table Group)的 SHARDING = PARTITION 属性对分区对齐的要求,以下说法正确的是?

关于 OceanBase 表组(Table Group)的 SHARDING = PARTITION 属性对分区对齐的要求,以下说法正确的是?

A. PARTITION 模式下,表组内的所有表(包括非分区表)会自动按照第一个加入表组的分区表的分区方式对齐,非分区表被视为只有一个分区。

B. PARTITION 模式要求表组内所有表的分区类型完全相同(如一表为 RANGE 分区,其他表也必须为 RANGE 分区),但分区边界可以不同,系统会通过动态重分布自动对齐。

C. PARTITION 模式下,表组内的表可以是一级分区表或二级分区表。如果存在二级分区表,则只要求一级分区定义相同,二级分区可以不同。

D. PARTITION 模式要求表组内的表必须都是一级分区表,不允许包含二级分区表。二级分区表只能放在 ADAPTIVE 模式的表组中。

解析
SHARDING = PARTITION 是表组的常用模式,它要求表组内所有表的一级分区定义完全相同 (包括分区类型、分区个数、分区边界值)。对于二级分区表,系统不校验二级分区的定义,允许二级分区方式不同的二级分区表与一级分区表共存于同一个表组中。

  • A 错误 :PARTITION 模式下不允许包含非分区表 。非分区表只能放在 SHARDING = NONE 的表组中,或单独的表组。
  • B 错误 :PARTITION 模式要求分区边界值也必须相同,而非“可以不同”。动态重分布无法解决分区边界不一致的问题。
  • C 正确 :这是 PARTITION 模式的核心定义:仅强制一级分区一致,二级分区可不同。
  • D 错误 :PARTITION 模式允许二级分区表 存在,只是不强求二级分区一致。ADAPTIVE 模式则要求二级分区表的二级分区定义也必须完全相同。

正确答案:C

正确答案:C

SHARDING = PARTITION 的分区对齐要求:

  1. 所有表的一级分区的分区定义必须相同(分区类型、分区键、分区数都要相同)

  2. 一级分区表和二级分区表可以同时存在于 PARTITION 模式的表组中

  3. 如果存在二级分区表,只校验一级分区的分区定义,二级分区可以不同

错误选项分析:

  • A 错误:PARTITION 模式不允许同时有非分区表和分区表(修改 SHARDING 属性时会失败)

  • B 错误:PARTITION 模式要求所有表的一级分区规则完全相同(包括分区边界),不能不同

  • D 错误:PARTITION 模式允许包含二级分区表,不是只能放在 ADAPTIVE 模式中