OceanBase V4 中全局索引与局部索引有什么区别?自动分区分裂对全局索引有什么影响?

OceanBase V4 中全局索引与局部索引有什么区别?自动分区分裂对全局索引有什么影响?

局部索引(Local Index): 与主表分区一对一,主表每个分区对应一个局部索引分区,索引数据与主表数据同分布。

全局索引(Global Index): 与主表分区一对多或多对多,索引数据独立于主表分布,可以跨所有主表分区构建。

核心区别:

  • 带分区键的查询适合用局部索引,可直接定位到具体分区。
  • 不带分区键的查询适合用全局索引,避免全分区扫描,但会引入分布式执行开销。
  • 在非分区键字段上建唯一索引时,全局索引不需要带上完整分区键,更推荐。

自动分区分裂的影响: V4.3.5 BP2 起支持自动分区分裂,开启后未指定 LOCAL 关键字的索引会自动变为全局索引,并可配合 global_index_auto_split_policy 对全局索引也进行自动分裂,避免全局索引热点。