**关于全局索引(Global Index)和本地索引(Local Index),以下场景适合使用全局索引的是?**多选题
A. 非分区键列作为查询条件。
B. 需要保证全局唯一性约束。
C. 点查询(Point Query)场景,要求极低延迟。
D. 大规模数据批量加载场景。
3 个赞
A, B, C
- A 正确 :如果查询条件不包含分区键,本地索引需要扫描所有分区(跨机),效率低;全局索引可以直接定位。
- B 正确 :唯一性约束必须在全局范围内检查,因此必须依赖全局索引。
- C 正确 :全局索引通常层数较少,适合点查询。
- D 错误 :批量加载时,维护全局索引的开销非常大(因为涉及跨机事务),通常建议先禁用全局索引,加载完后再重建。
1 个赞
答案:ABC
A正确: 当查询条件不包含分区键时,局部索引无法确定分区位置,需要进行全分区扫描 ,效率极低。全局索引独立于主表分区,可以快速定位目标数据,避免全分区扫描。
B正确: 局部索引只能在单个分区内保证唯一性,无法跨分区保证全局唯一 。如果索引键不覆盖所有分区键,必须使用全局索引来实现全局唯一约束。
C正确:全局索引通常层数较少,对于精确匹配的点查询能够快速定位。尤其在查询条件不包含分区键时,全局索引避免了全分区扫描的延迟开销。
D错误: 全局索引维护成本高,每次数据更新都可能涉及跨分区的分布式事务 。在大规模批量加载时,维护全局索引的开销极大,通常建议先禁用全局索引,加载完成后再重建。
了解了解
关于Index的讨论很有价值,特别是在正确场景下,合理使用关于全局索引是关键。
这个问题让我想起了Index相关的优化,特别是在正确方面,采用关于全局索引策略很有效。
学习
不错
