OBCP V4.0每日一题
问题
关于OceanBase的全局索引和本地索引,以下说法正确的是?
A. 全局索引的分区方式必须与表的分区方式相同
B. 本地索引的分区方式必须与表的分区方式相同
C. 全局索引支持唯一约束,本地索引不支持唯一约束
D. 本地索引的查询性能总是优于全局索引
答案
B. 本地索引的分区方式必须与表的分区方式相同
Tips
- 本地索引的分区键与表的分区键完全相同,每个索引分区与对应的表分区一一绑定,因此索引分区方式必须与表一致。
- 选项A错误——全局索引可以独立选择分区策略,不需要与表的分区方式保持一致。
- 选项C错误——本地索引同样支持唯一约束,但唯一约束的列必须包含表的分区键。
- 选项D错误——性能取决于查询场景。本地索引适合单分区内的查询,避免跨分区开销;全局索引适合跨分区查询,可以直接定位到数据所在分区,减少扫描范围。
延伸思考
选择本地索引还是全局索引,需要结合业务查询模式来决定。如果查询条件总是包含分区键,本地索引是首选;如果查询条件不包含分区键但需要快速定位,全局索引更合适。理解两者的差异,有助于在设计索引时做出正确选择,提升SQL执行效率。