全局索引

oracle全局分区索引通常情况下,性能非常好。在分区粒度比较细的情况下,性能甚至高于本地前缀分区索引。

之所以叫全局分区索引,是因为该索引的分区与表的分区无关。

Oracle提供了两种全局分区索引,10g之前只有全局范围分区索引,而10g之后又提供了全局哈希分区索引。与表的范围分区和哈希分区一样,全局范围分区索引需要根据字段值进行分区,因此实施和管理难度高于oracle自动进行全局哈希分区索引。但用户可通过全局范围分区索引有效控制索引项的分布。全局哈希分区索引还特别适合于在大并发量和批量数据加载(insert)的情况下,特别是使用sequence时,避免索引数据出现热块。

 

一、 全局索引-范围索引

 

  CREATE INDEX INX_FACT_GPRS_SGSN_CDR ON FACT_GPRS_SGSN_CDR(Msisdn,TIMEID) 

 compress  global partition by range(Msisdn)

    (PARTITION PART_20110815  VALUES LESS THAN (201108160000)

      ,

     PARTITION PART_20110816  VALUES LESS THAN (201108170000)

     ,

     PARTITION PART_max  VALUES LESS THAN (maxvalue)

     )

 

注:索引能分区吗?当然,全局分区-范围索引必须要指定第一个列(也即MSISDN)分区键,还必须要指定最大值。否则的话会报错。

 

 

 

一、 全局索引-哈希索引

 

  CREATE INDEX INX_FACT_GPRS_SGSN_CDR ON FACT_GPRS_SGSN_CDR(Msisdn,TIMEID) 

 compress global partition by hash(Msisdn)

    (PARTITION PART_1 ,

     PARTITION PART_2  

     )

  CREATE INDEX INX_FACT_GPRS_SGSN_CDR ON FACT_GPRS_SGSN_CDR(Msisdn,TIMEID) 

 compress global partition by hash(msisdn,timeid)

    (PARTITION PART_1 

      ,

     PARTITION PART_2  

     )

 

:哈希索引以上两种方式都可以,但是必须要把msisdn放在最前面。它也能添加分区的,如下:

 

SQL> alter index INX_FACT_GPRS_SGSN_CDR  add partition part_3;

 

Index altered

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值