功能越来越强大了
很棒的解读
local partitonal index .分区本地索引。每个分区可以有独立的索引。
哈哈 这样学起来才轻松呀
好功能,越来越完善
感觉又开始慢慢对标oracle数据库了
感谢分享
功能越来越强大了,谢谢讲解
很棒的特性
学习总结经验
功能越来越强大了,谢谢讲解
OceanBase 现在在 MySQL 模式下默认的索引,就是您说的这种 local partional 的 index 哈~
有个疑问就是如果默认就是本地索引,那么这个索引应该是以及映射到分区上了。那么为什么需要前缀索引才能进行分区裁剪呢?理论上有分区键就能进行分区裁剪,然后在根据分区表的本地索引在筛选数据。
我个人理解不需要前缀索引就能进行分区裁剪,就像您说的:有分区键就能进行分区裁剪,然后再根据分区表的本地索引去筛选数据。这个可以直接通过看执行计划证明哈~
这里的过滤条件是 c1 c2,我理解您说的前缀索引是指 c1 开头的索引。
在这个计划里,可以看到 partitions(p0) 这个字段,说明对 c1 = 100 这个分区键上的过滤条件已经做了分区裁剪,只裁剪出了 1 个符合条件的分区 p0。
然后再在裁剪出的 p0 分区里,通过 local 索引过滤出 c2 > 200 的数据。
最后再从索引回到主表(is_index_back=true),对 c1 = 100 做一次 filter,得到最终的计算结果。
所以文档的内容让我误以为ob分区表的索引都是全局索引。只有使用局部前缀索引(实际上依赖最左匹配原则进行筛选的)
不是的,可以选择用全局索引还是局部索引。啥文档?拉出来打。
3.1.1的文档