OceanBase 分区表上全局索引与局部索引在点查询场景下的性能表现,以下说法正确的是?

OceanBase 分区表上全局索引与局部索引在点查询场景下的性能表现,以下说法正确的是?

A. 点查询(WHERE 条件包含分区键)时,局部索引只需扫描单个分区,而全局索引可能跨多个分区,因此局部索引总是优于全局索引。

B. 当点查询条件不包含分区键时,局部索引无法确定目标分区,需要扫描所有分区;而全局索引如果分区方式与查询条件匹配,可以只访问单个索引分区,性能可能优于局部索引。

C. 全局索引因为需要维护跨分区的唯一性,更新开销远大于局部索引,因此生产环境应优先使用局部索引,避免使用全局索引。

D. 在分区表上创建全局唯一索引时,索引键必须包含基表的所有分区键,这导致全局唯一索引的存储空间远大于局部唯一索引。

1 个赞

解析
全局索引的核心价值之一就是解决“查询条件不包含分区键”时的性能问题。局部索引无法进行分区剪枝,必须扫描所有分区的索引;而全局索引拥有独立的分区策略,如果查询条件与全局索引的分区键匹配,可以直接定位到单个索引分区,避免全分区扫描,此时性能可能显著优于局部索引。

  • A 错误 :当查询包含分区键时,局部索引确实高效,但“总是优于”过于绝对。在某些数据分布或索引设计下,全局索引也可能通过索引覆盖等优势获得相近或更好的性能。
  • B 正确 :准确描述了全局索引在不带分区键查询时的优势场景。
  • C 错误 :全局索引更新开销确实大于局部索引,但并不能因此“避免使用”。对于不带分区键的频繁点查询场景,全局索引带来的查询性能提升往往远超其更新代价,需要根据业务权衡。
  • D 错误 :全局唯一索引要求包含分区键,但存储空间不一定“远大于”局部唯一索引。局部唯一索引在每个分区内都有一个完整的索引副本,总存储空间可能是全局索引的数倍(分区数越多,局部索引总空间越大)。
3 个赞

正确答案:B

4 个赞