在 OceanBase 分区表中,关于全局索引(Global Index)与局部索引(Local Index)的描述,以下正确的是?


A. 全局索引的分区方式必须与基表的分区方式完全相同,否则无法创建。

B. 局部索引的分区方式与基表一致,每个分区维护自己的索引数据,因此查询时如果条件不包含分区键,仍能快速定位到索引数据。

C. 全局索引适合查询条件不包含分区键的场景,因为全局索引有独立的分区策略,可以减少扫描的分区数量。

D. 全局索引的维护代价与局部索引相同,因为两者都需要在 DML 时同步更新索引数据。

解析
全局索引的分区方式独立于基表。当查询条件不包含基表的分区键时,局部索引无法确定要扫描哪个分区,需要扫描所有分区的索引,效率极低。而全局索引拥有独立的分区策略(如按时间范围分区),如果查询条件与全局索引的分区键匹配,可以直接定位到少数索引分区,大幅减少扫描量。因此全局索引非常适合不带分区键的查询场景。

  • A 错误 :全局索引的分区方式独立于基表 ,可以与基表不同。
  • B 错误 :局部索引的分区方式与基表一致,查询条件必须包含分区键 才能剪枝,否则需要扫描所有分区索引。
  • C 正确 :全局索引在不带分区键的查询中表现更优。
  • D 错误 :全局索引的维护代价高于 局部索引,因为数据跨分区移动时需要更新多个索引分区。

正确答案:C

选择C
C. 全局索引适合查询条件不包含分区键的场景,因为全局索引有独立的分区策略,可以减少扫描的分区数量。