国产大型数据库-虚谷DBMS中的索引分区

  在虚谷数据库中,表可以按照列表、范围和哈希值进行分区,分区后的表,其上的索引和普通表上的索引有所不同,对于分区表上的索引,在虚谷中被分为两类,局部索引和全局索引,首先我们需要了解这两种索引的特点以及区别。

  全局索引:就是在全表上创建索引,它可以创建自己的分区,可以和分区表的分区不一样,也就是它是独立的索引。

  全局索引的使用特点:

  • 使用全局索引,因全局索引和表之间没有直接的联系,所以需要用户指定分区范围。
  • 全局索引以整个表的数据为对象建立索引,索引分区中的索引条目既可能是基于相同的键值但是来自不同的分区,也可能是多个不同键值的组合。
  • 全局索引既允许索引分区的键值和表分区键值相同,也可以不相同。全局索引和表之间没有直接的联系,这一点和局部索引不同。
  • 全局索引和表没有直接的关联,必须显式的指定maxvalue值。假如表中新加了分区,不会在全局索引中自动增加新的分区,必须手工添加相应的分区。
  • 在虚谷数据库中,使用全局索引,索引键值和分区键值相同时,称为前缀索引;索引键值与分区键值不想同时,称为非前缀索引。在虚谷数据库中,全局索引既支持前缀索引,也支持非前缀索引。Oracle数据库中,全局索引只支持前缀索引。
  • 目前,在虚谷数据库中,对于全局索引的分区,只支持范围分区方式。

  局部索引:局部索引一定是分区索引,分区索引就是在所有每个区上单独创建索引,它能自动维护,在drop或truncate某个分区时不影响该索引的其他分区索引的使用,也就是索引不会失效,维护起来比较方便。局部索引与分区表的分区是一样的,即分区表有多少个分区,局部索引就有多少个。

  分区索引的使用特点:

  • 使用局部索引,不需要指定分区范围。因为局部索引是针对分区表的分区的,当局部索引创建时,虚谷数据库服务器会自动为表中的每个分区创建独立的索引分区。
  • 局部索引一定是分区索引,分区键等同于表的分区键,分区数等同于表的分区说,即局部索引的分区机制和表的分区机制一样。
  • 局部索引的索引列以分区键开头,则称为前缀局部索引;局部索引的索引列不以分区键开头,则称为非前缀局部索引。在虚谷数据库中,这两种局部索引方式都可支持。
  • 前缀和非前缀索引都可以支持索引分区消除,前提是查询的条件中包含索引分区键。
  • 局部索引只支持分区内的唯一性,无法支持表上的唯一性,因此如果要用局部索引去给表做唯一性约束,则约束中必须要包括分区键列。
  • 局部分区索引是对单个分区的,每个分区索引只指向一个表分区。正因为这点,局部分区索引具有更高的可用性。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23525425/viewspace-677263/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23525425/viewspace-677263/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值