索引分区

索引分区

--局部索引:每个表分区都有一个索引分区,并且只索引该分区表

局部前缀索引:无效的分区消除

局部非前缀索引:

都可以利用分区消除,都支持唯一性

--全局索引:索引按区间分区,一个索引可以指向任何表分区

要使用前缀索引必须使用一个分区消除的查询。

局部前缀索引能保证查询包含的谓词允许分区消除,而非前缀局部索引则不能保证。

---局部索引不能保证唯一性?

如果分区键是索引的一部分还是可以保证的是如果不是这样那就不能保证了,原因有两方面:

一:保证分区的可用和可扩展性

二:如果分区能保证唯一性,那么在oracle必须在事务级对这个表的插入和更新有效的进行串行化,如果想part_1中增加了ID=1的列那么必须组织在part_2中增加相同ID列,而实际上无法

通过这个分区的内容来保证。

partition by range(a)

create index local_prefixed on partition_table(a,b) local;---局部前缀索引

create index local_nonprefixed on partition_table(b) local;--局部非前缀索引

 

partition by range(timestamp,id)

create  index index_partition2 on partitioned(timestamp,idglobal partition by range(id)(partition .. ,partition ..less than(maxvalue))

maxvalue 确保底层中所有行均能放进分区中。

上面全局索引时不允许的,全局索引必须是 prefixed !

分区交换

alter table daodao add partition daodao_a with table  daodao_temp1  INCLUDING INDEXS WITHOUT VALIDATION ;--将装载有与分区相同数据的表导入分区表中

这个操作之后全局索引是不可用的

还是没太明白局部前缀索引和局部非前缀索引以及全局索引的意义!!后面继续努力。。。。

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

转载于:http://blog.itpub.net/30018455/viewspace-1426724/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值