关于全局索引与局部索引在 OceanBase 分区表中的使用策略,以下说法正确的是?
单选题
A. 全局索引的分区方式必须与基表的分区方式完全相同,否则无法建立全局索引。
B. 对于点查询场景(WHERE 条件包含分区键),使用局部索引比全局索引性能更好,因为可以避免跨节点查询。
C. 全局唯一索引要求索引键必须包含基表的所有分区键,否则无法保证全局唯一性。
D. 在分区表上进行范围扫描且查询条件不包含分区键时,局部索引比全局索引更高效,因为局部索引的数据量更小。
关于全局索引与局部索引在 OceanBase 分区表中的使用策略,以下说法正确的是?
单选题
A. 全局索引的分区方式必须与基表的分区方式完全相同,否则无法建立全局索引。
B. 对于点查询场景(WHERE 条件包含分区键),使用局部索引比全局索引性能更好,因为可以避免跨节点查询。
C. 全局唯一索引要求索引键必须包含基表的所有分区键,否则无法保证全局唯一性。
D. 在分区表上进行范围扫描且查询条件不包含分区键时,局部索引比全局索引更高效,因为局部索引的数据量更小。
解析 :
全局唯一索引需要在整个表范围内保证索引键的唯一性。如果索引键不包含全部分区键,那么在不同分区中可能出现相同的索引键值,系统无法在不扫描所有分区的前提下判断唯一性。因此 OceanBase 要求全局唯一索引必须包含基表的所有分区键 。
hash(id) 分区,全局索引可按 range(create_time) 分区。这也是全局索引的主要价值之一。正确答案:C
选择B
B 正确:当点查询条件包含分区键时,局部索引可以直接定位到目标分区,避免跨节点查询;而全局索引需要先查索引表再回表,多一次跨节点交互,因此局部索引性能更好。