开发者社区> 问答> 正文

OceanBase数据库 索引跳跃扫描是怎么实现?

OceanBase数据库 ob的索引跳跃扫描
具体问题是:假如一张表有一个4字段的复合索引,索引顺序为A,B,C,D . 问 在ob.4X版本中,在SQL where 条件里 只有BC,我看是实现不了跳跃扫描,然后A+C和B+C也实现不了,那这个索引跳跃扫描是怎么实现

展开
收起
cc75 2024-07-16 11:39:20 41 0
来自:OceanBase
2 条回答
写回答
取消 提交回答
  • OceanBase 4.x 版本中,对于复合索引(A, B, C, D),如果查询条件只包含中间字段 B 和 C,是无法直接使用跳跃扫描的。跳跃扫描通常需要查询条件包含索引的最左前缀,即至少需要 A 或 A 和 B。同样,A+C 或 B+C 也不能直接触发跳跃扫描,因为它们都不是连续的索引前缀.OceanBase 在处理这种查询时,可能会使用索引扫描,但不是跳跃扫描,可能需要回表(index lookup)以获取满足条件的完整行数据。要利用跳跃扫描提高效率,建议调整索引或查询条件,确保查询条件包含索引的最左前缀。可参考文档

    2024-07-16 14:28:31
    赞同 展开评论 打赏
  • skip scan是代价改写,需要符合如下要求5460ef007bd1269b9b28752f2fb97654.png——此回答整理自钉群[社区]技术答疑群OceanBase

    2024-07-16 11:53:30
    赞同 3 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载