【有问必答】OceanBase 中的全局索引是什么?

全局索引吧,mysql好像没有分区本地索引的。我记得oracle好像有

4 个赞

赞一下

6 个赞

先码住

5 个赞

嗯,我仔细看了下文档。3.1.1后默认是本地索引(知识体系还在3.0 时代 :rofl:)。有个问题请大佬解答下:既然有了分区 裁剪,那么局部前缀索引与局部非前缀索引的优劣势在哪呢?

3 个赞

超级棒的笔记

4 个赞

记得前几天在 这个帖子 里回复过您一个类似的问题。

例如 c1 是分区键,过滤条件是 WHERE c1 = 1 and c2 = 2 and c3 > 3,那么 idx1(c2, c3) 就是您说的局部前缀索引,idx2(c3, c2) 就是您说的局部非前缀索引。

这个过滤条件中:

  • 如果用 idx1 的话,会先分区裁剪,然后利用 idx1 对 c2 = 2 and c3 > 3 这两个过滤条件进行过滤;
  • 如果用 idx2 的话,也会先分区裁剪,然后利用 idx2 对 c3 > 3 这一个过滤条件进行过滤,然后再把过滤出来的结果遍历一遍,遍历时会用 c2 = 2 这个条件进行过滤,效率明显会比用 idx1 要低不少。

一般情况下,就像您说的这样,会依赖最左匹配原则筛选出最合适的索引~

5 个赞

强烈推荐用 explain 对比下这两个索引的执行计划,一目了然~

3 个赞

大佬,你这个解释比文档清楚多了。

3 个赞

主要还是文档误人

2 个赞

非常优质的文章

2 个赞

好文,学习

1 个赞

学习了

2 个赞

00A2122C

3 个赞

别点赞了,直接去参加 DBA 实战营搞张考试券吧~

3 个赞

学习

1 个赞

:+1::+1::+1::+1:

2 个赞

优质分享,点赞

2 个赞

学习

1 个赞

:melting_face: :+1: :+1: :+1: :+1:

1 个赞

在学了

2 个赞