oracle获取分区索引创建语句,Oracle创建分区索引总结

二,到底如何判断建立怎样的分区索引(GLOBAL 还是LOCAL)

我将用下面的例子来分析到底需要创建什么类型索引好。

create table TT(id number,createdate date)

partition by range(createdate)

(

partition Q1 VALUES LESS THAN (TO_DATE('2012-03-30','YYYY-MM-DD')),

partition Q2 VALUES LESS THAN (TO_DATE('2012-06-30','YYYY-MM-DD')),

partition Q3 VALUES LESS THAN (TO_DATE('2012-09-30','YYYY-MM-DD')),

partition Q4 VALUES LESS THAN (TO_DATE('2012-12-31','YYYY-MM-DD')),

partition Q_OTHERS VALUES LESS THAN (MAXVALUE)

);

注意:只能是to_date,其他的任何函数都不行,maxvalue必须在最后,他可以包括NULL值。

第一种情况:

如果查询的语句的条件是where createdate='2012-10-19' and id>100,则此时查询的是4号分区,假设他有10万条记录。在扫描这10万条记录的时候,

可以使用id列上的索引。这个时候可以在ID列上建立个local nonprofiex索引

create index index_tt1_local on TT(id) local

( partition p1,

partition p2,

partition p3,

partition p4,

partition p5

);

注意:索引分区的数量和其基本的分区数量要一样。

SQL> select INDEX_NAME,PARTITION_NAME,HIGH_VALUE,STATUS from dba_ind_partitions where index_name='INDEX_TT1_LOCAL';

INDEX_NAME                    PARTITION_NAME                HIGH_VALUE          STATUS

------------------------------ ------------------------------ -------------------- --------

INDEX_TT1_LOCAL                P1                            TO_DATE(' 2012-03-30 USABLE

00:00:00', 'SYYYY-M

M-DD HH24:MI:SS', 'N

LS_CALENDAR=GREGORIA

INDEX_TT1_LOCAL                P2                            TO_DATE(' 2012-06-30 USABLE

00:00:00', 'SYYYY-M

M-DD HH24:MI:SS', 'N

LS_CALENDAR=GREGORIA

INDEX_TT1_LOCAL                P3                            TO_DATE(' 2012-09-30 USABLE

INDEX_NAME                    PARTITION_NAME                HIGH_VALUE          STATUS

------------------------------ ------------------------------ -------------------- --------

00:00:00', 'SYYYY-M

M-DD HH24:MI:SS', 'N

LS_CALENDAR=GREGORIA

INDEX_TT1_LOCAL                P4                            TO_DATE(' 2012-12-31 USABLE

00:00:00', 'SYYYY-M

M-DD HH24:MI:SS', 'N

LS_CALENDAR=GREGORIA

INDEX_TT1_LOCAL                P5                            MAXVALUE            USABLE0b1331709591d260c1c78e86d0c51c18.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值