分区表的查询性能跟 SQL 中条件有关。当 SQL 中带上拆分键时,OceanBase 会根据条件做分区剪枝,只用搜索特定的分区即可;如果没有拆分键,则要扫描所有分区。 分区表也可以通过创建索引来提升性能。跟分区表一样,分区表的索引也可以分区或者不分区。 如果分区表的索引不分区,就是一个全局索引(GLOBAL),是一个独立的分区,索引数据覆盖整个分区表。如果分区表的索引分区了,根据分区策略又可以分为两类。一是跟分区表保持一致的分区策略,则每个索引分区的索引数据覆盖相应的分区表的分区,这个索引又叫本地索引(LOCAL)。 注意:通常创建索引时默认都是全局索引,本地索引需要在后面增加关键字 LOCAL 。建议尽可能的使用本地索引只有在有必要的时候才使用全局索引。其原因是全局索引会降低 DML 的性能,DML 可能会因此产生分布式事务。 示例:创建分区表的本地索引和全局索引
注意:OceanBase 的分区表主键和唯一键,不需要单独建索引。OceanBase 分区表的一个功 能限制是如果分区表有主键,主键必须包含分区键。
以上内容来自于《OceanBase 社区版入门到实战》,下载链接:https://developer.aliyun.com/topic/download?id=8210,如有问题,欢迎加入钉群进行答疑
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。