精华内容
下载资源
问答
  • ORACLE全局索引分区索引

    千次阅读 2012-12-18 19:03:23
    一、建立全局分区索引 create index i_object_id on test(object_id); SQL> select segment_name,partition_name,segment_type  from user_segments s  where s.segment_name = 'I_OBJECT_ID'; ...

    create table test7 as select * from dba_objects;
    create table TEST
    (
      OWNER          VARCHAR2(30),
      OBJECT_NAME    VARCHAR2(128),
      SUBOBJECT_NAME VARCHAR2(30),
      OBJECT_ID      NUMBER,
      DATA_OBJECT_ID NUMBER,
      OBJECT_TYPE    VARCHAR2(19),
      CREATED        DATE,
      LAST_DDL_TIME  DATE,
      TIMESTAMP      VARCHAR2(19),
      STATUS         VARCHAR2(7),
      TEMPORARY      VARCHAR2(1),
      GENERATED      VARCHAR2(1),
      SECONDARY      VARCHAR2(1)
    )
    partition by range(OBJECT_ID)
    (
      partition p1 values less than(10000),
      partition p2 values less than(20000),
      partition p3 values less than(30000),
      partition p4 values less than(40000),
      partition p5 values less than(maxvalue)
    )
    insert into test  select * from test7;
    以相同的形式建立test1,test2

    一、建立全局非分区索引

    create index i_object_id on test(object_id);

    SQL> select segment_name,partition_name,segment_type
          from user_segments s
            where s.segment_name = 'I_OBJECT_ID';

    SEGMENT_NAME         PARTITION_NAME  SEGMENT_TYPE
    -------------------- --------------- --------------------
    I_OBJECT_ID                          INDEX

    SQL> select * from test where object_id=100;
    -----------------------------------------------------------------------------------------------------------------
    | Id  | Operation                          | Name        | Rows  | Bytes | Cost (%CPU)| Time     | Pstart|stop |
    -----------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                   |             |     1 |    84 |     2   (0)| 00:00:01 |    |  |
    |   1 |  TABLE ACCESS BY GLOBAL INDEX ROWID| TEST        |     1 |    84 |     2   (0)| 00:00:01 |     1 |  1 |
    |*  2 |   INDEX RANGE SCAN                 | I_OBJECT_ID |     6 |       |     1   (0)| 00:00:01 |    |  |
    -----------------------------------------------------------------------------------------------------------------
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       2 - access("OBJECT_ID"=100)
    统计信息
    ----------------------------------------------------------
              0  recursive calls
              0  db block gets
              4  consistent gets
              0  physical reads
              0  redo size
           1206  bytes sent via SQL*Net to client
            400  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              1  rows processed
    二、建立本地分区索引
    create index l_object_id on test1(object_id) local;

    SQL> select segment_name,partition_name,segment_type
          from user_segments s
         where s.segment_name = 'L_OBJECT_ID';

    SEGMENT_NAME         PARTITION_NAME  SEGMENT_TYPE
    -------------------- --------------- --------------------
    L_OBJECT_ID          P1              INDEX PARTITION
    L_OBJECT_ID          P2              INDEX PARTITION
    L_OBJECT_ID          P3              INDEX PARTITION
    L_OBJECT_ID          P4              INDEX PARTITION
    L_OBJECT_ID          P5              INDEX PARTITION

    SQL> select * from test1 where object_id=100;
    ------------------------------------------------------------------------------------------------------------------
    | Id  | Operation                          | Name        | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    ------------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                   |             |     1 |    84 |     2   (0)| 00:00:01 |    |  |
    |   1 |  PARTITION RANGE SINGLE            |             |     1 |    84 |     2   (0)| 00:00:01 |     1 |  1 |
    |   2 |   TABLE ACCESS BY LOCAL INDEX ROWID| TEST1       |     1 |    84 |     2   (0)| 00:00:01 |     1 |  1 |
    |*  3 |    INDEX RANGE SCAN                | L_OBJECT_ID |     1 |       |     1   (0)| 00:00:01 |     1 |  1 |
    ------------------------------------------------------------------------------------------------------------------
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       3 - access("OBJECT_ID"=100)
    统计信息
    ----------------------------------------------------------
              0  recursive calls
              0  db block gets
              4  consistent gets
              0  physical reads
              0  redo size
           1206  bytes sent via SQL*Net to client
            400  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              1  rows processed

    三、建立全局分区索引
    CREATE index g_object_id ON test2(object_id)
      GLOBAL PARTITION BY RANGE(object_id)
    (
      partition p1 values less than(10000),
      partition p2 values less than(20000),
      partition p3 values less than(30000),
      partition p4 values less than(40000),
      partition p5 values less than(maxvalue)
    );

    SQL> select segment_name,partition_name,segment_type
          from user_segments s
            where s.segment_name = 'G_OBJECT_ID';

    SEGMENT_NAME         PARTITION_NAME  SEGMENT_TYPE
    -------------------- --------------- --------------------
    G_OBJECT_ID          P1              INDEX PARTITION
    G_OBJECT_ID          P2              INDEX PARTITION
    G_OBJECT_ID          P3              INDEX PARTITION
    G_OBJECT_ID          P4              INDEX PARTITION
    G_OBJECT_ID          P5              INDEX PARTITION

    SQL> select * from test2 where object_id=100;
    -------------------------------------------------------------------------------------------------------------------
    | Id  | Operation                           | Name        | Rows  | Bytes | Cost (%CPU)| Time     | Pstart|Pstop |
    -------------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                    |             |     1 |    84 |     2   (0)| 00:00:01 |    ||
    |   1 |  PARTITION RANGE SINGLE             |             |     1 |    84 |     2   (0)| 00:00:01 |  1 |1 |
    |   2 |   TABLE ACCESS BY GLOBAL INDEX ROWID| TEST2       |     1 |    84 |     2   (0)| 00:00:01 |  1 |1 |
    |*  3 |    INDEX RANGE SCAN                 | G_OBJECT_ID |     1 |       |     1   (0)| 00:00:01 |  1 |1 |
    -------------------------------------------------------------------------------------------------------------------
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       3 - access("OBJECT_ID"=100)
    统计信息
    ----------------------------------------------------------
              0  recursive calls
              0  db block gets
              4  consistent gets
              0  physical reads
              0  redo size
           1206  bytes sent via SQL*Net to client
            400  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              1  rows processed


    --分区索引的概要统计信息,可以得知每个表上有哪些分区索引,分区索引的类型(local/global)
    select * from  DBA_PART_INDEXES s where s.owner='TEST';
    --每个分区索引的分区级统计信息
    select * from  Dba_ind_partitions s where s.index_owner='TEST'; 
    --可以得到每个表上有哪些非分区索引
    select s.table_name,s.index_name from  Dba_indexes s where s.owner='TEST' minus
    select s.table_name,s.index_name from  dba_part_indexes s where s.owner='TEST'; 



    图片来自于:http://hi.baidu.com/jsshm/item/cbfed8491d3863ee1e19bc3e

    展开全文
  • Oracle全局索引失效总结建表索引失效重建索引 最近开发中遇到的一次生产故障,数据库有张表发现update时间特别长,经过排查发现索引失效了。然后自己在本地环境又演示了一遍,以做告诫,不足之处,还请大家指出。 ...

    Oracle全局索引失效总结

    最近开发中遇到的一次生产故障,数据库有张表发现update时间特别长,经过排查发现索引失效了。然后自己在本地环境又演示了一遍,以做告诫,不足之处,还请大家指出。

    建表

    1. 建表,进行根据时间进行动态分区,建立全局索引
    create table users_info
    (
      user_id      number(10),              
      phone_number number(11),
      create_date  DATE,
      modify_date  DATE
    )
    partition by range(create_date)
    interval (numtodsinterval(1,'DAY'))
    (
      partition p_day_01 values less than (to_date('2020-11-11','yyyy-mm-dd'))
    );
    create index IDX_USERS_INFO on users_info (CREATE_DATE,USER_ID) initrans 20  tablespace D_DATA_01;
    
    1. 查看索引状态
    select T.status,t.* from user_indexes t where t.table_name = upper('users_info');
    

    在这里插入图片描述
    可以看到索引状态是有效的。

    1. 初始化数据,查看分区
      经过初始化数据,分区也有三个了。
    select * from USER_TAB_PARTITIONS  a where a.table_name=upper('users_info');
    

    在这里插入图片描述
    4. 查看执行计划
    在这里插入图片描述
    可以看到索引现在是有效的。

    索引失效

    由于生产环境表数据越来越多,维护同学删除分区了。导致索引失效了。

    alter table users_info drop partition SYS_P5962;
    alter table “表名” drop partition “分区名”;
    

    再看索引已经失效了。
    在这里插入图片描述
    执行计划也变成了全表扫描
    **加粗样式**

    重建索引

    删除原来的失效索引,然后重新建立分区索引。

    --删除原失效索引
    drop index IDX_USERS_INFO;
    --创建新的分区索引
    create index IDX_USERS_INFO on users_info(CREATE_DATE,USER_ID)
    local
    (
    partition P_DAY_01 tablespace D_DATA_01,
    partition SYS_P5963 tablespace D_DATA_01
    );
    

    查看新索引,已经是可用的了。
    在这里插入图片描述
    再来跑下执行计划,结果完美。
    在这里插入图片描述

    展开全文
  • -- DBA查看索引分区 select * from dba_ind_partitions where index_owner='DW' -- 查看索引分区类型 select * from dba_part_indexes where owner='DW' -- USER查看索引分区类型 select * from user_part_indexes;...
    create table t_ta(
    c1 int,c2 varchar2(16),c3 varchar2(64),c4 int,
    constraint pk_ta primary key (c1)
    )
    partition by range(c1)(
    partition p1 values less than (10000),
    partition p2 values less than (20000),
    partition p3 values less than (30000),
    partition p4 values less than (maxvalue)
    );
    
    -- 创建全局索引
    
    create index idx_ta_c4 on t_ta(c4) global 
    partition by range(c4)(
    partition ip1 values less than(10000),
    partition ip2 values less than(20000),
    partition ip3 values less than(maxvalue)
    );
    
    -- 创建本地索引
    
    create index idx_ta_c2 on t_ta(c2) local (partition p1,partition p2,partition p3,partition p4);
    
    -- DBA查看索引分区
    
    select * from dba_ind_partitions  where index_owner='DW'
    
    -- 查看索引分区类型
    
    select * from dba_part_indexes  where owner='DW'
    
    -- USER查看索引分区类型
    
    select * from user_part_indexes;
    其中locality字段是表示是局部的还是全局索引。
    
    LOCAL
    GLOBAL
    

     

    展开全文
  • ORACLE 全局索引和本地索引

    千次阅读 2018-10-11 17:57:12
    Oracle数据库中,有两种类型的分区索引,全局索引和本地索引,其中本地索引又可以分为本地前缀索引和本地非前缀索引。下面就分别看看每种类型的索引各自的特点。   全局索引以整个表的数据为对象建立索引,索引...

    Oracle数据库中,有两种类型的分区索引,全局索引和本地索引,其中本地索引又可以分为本地前缀索引和本地非前缀索引。下面就分别看看每种类型的索引各自的特点。

     

    全局索引以整个表的数据为对象建立索引,索引分区中的索引条目既可能是基于相同的键值但是来自不同的分区,也可能是多个不同键值的组合。

     

    全局索引既允许索引分区的键值和表分区键值相同,也可以不相同。全局索引和表之间没有直接的联系,这一点和本地索引不同。

     

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    SQL> create table orders (

         order_no      number,

         part_no       varchar2(40),

         ord_date      date

         )

         partition by range (ord_date)

          (partition Q1 values less than (TO_DATE(‘01-APR-1999‘,‘DD-MON-YYYY‘)),

           partition Q2 values less than (TO_DATE(‘01-JUL-1999‘,‘DD-MON-YYYY‘)),

           partition Q3 values less than (TO_DATE(‘01-OCT-1999‘,‘DD-MON-YYYY‘)),

           partition Q4 values less than (TO_DATE(‘01-JAN-2000‘,‘DD-MON-YYYY‘))

          )

         ;

     

    Table created.

     

    SQL> create index orders_global_1_idx

         on orders(ord_date)

          global partition by range (ord_date)

           (partition GLOBAL1 values less than (TO_DATE(‘01-APR-1999‘,‘DD-MON-YYYY‘)),

            partition GLOBAL2 values less than (TO_DATE(‘01-JUL-1999‘,‘DD-MON-YYYY‘)),

            partition GLOBAL3 values less than (TO_DATE(‘01-OCT-1999‘,‘DD-MON-YYYY‘)),

            partition GLOBAL4 values less than (MAXVALUE)

           )

         ;

     

    Index created.

     

    SQL> create index orders_global_2_idx

         on orders(part_no)

          global partition by range (part_no)

           (partition IND1 values less than (555555),

            partition IND2 values less than (MAXVALUE)

           )

         ;

     

    Index created.

     

     

     

    从上面的语句可以看出,全局索引和表没有直接的关联,必须显式的指定maxvalue值。假如表中新加了分区,不会在全局索引中自动增加新的分区,必须手工添加相应的分区。

     

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    SQL> alter table orders add partition Q5 values less than (TO_DATE(‘01-APR-2000‘,‘DD-MON-YYYY‘));

     

    Table altered.

     

    SQL> select TABLE_NAME, PARTITION_NAME from dba_tab_partitions where table_name=‘ORDERS‘;

     

    TABLE_NAME                     PARTITION_NAME

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

    ORDERS                         Q1

    ORDERS                         Q2

    ORDERS                         Q3

    ORDERS                         Q4

    ORDERS                         Q5

     

    SQL> select INDEX_NAME, PARTITION_NAME from dba_ind_partitions where index_name=upper(‘orders_global_1_idx‘);

     

    INDEX_NAME                     PARTITION_NAME

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

    ORDERS_GLOBAL_1_IDX            GLOBAL1

    ORDERS_GLOBAL_1_IDX            GLOBAL2

    ORDERS_GLOBAL_1_IDX            GLOBAL3

    ORDERS_GLOBAL_1_IDX            GLOBAL4

     

     

     

    使用全局索引,索引键值必须和分区键值相同,这就是所谓的前缀索引。Oracle不支持非前缀的全局分区索引,如果需要建立非前缀分区索引,索引必须建成本地索引。

     

     

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    SQL> create index orders_global_2_idx

      2  on orders(part_no)

      3   global partition by range (order_no)

      4    (partition IND1 values less than (555555),

      5     partition IND2 values less than (MAXVALUE)

      6    )

      7  ;

     global partition by range (order_no)

                                        *

    ERROR at line 3:

    ORA-14038: GLOBAL partitioned index must be prefixed

     

     

     

    接下来再来看看本地分区。

     

    本地索引的分区和其对应的表分区数量相等,因此每个表分区都对应着相应的索引分区。使用本地索引,不需要指定分区范围因为索引对于表而言是本地的,当本地索引创建时,Oracle会自动为表中的每个分区创建独立的索引分区。

     

    创建本地索引不必显式的指定maxvalue值,因为为表新添加表分区时,会自动添加相应的索引分区。

     

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    create index orders_local_1_idx

    on orders(ord_date)

     local

      (partition LOCAL1,

       partition LOCAL2,

       partition LOCAL3,

       partition LOCAL4

      )

    ;

     

    Index created.

     

    SQL> select INDEX_NAME, PARTITION_NAME from dba_ind_partitions where index_name=upper(‘orders_local_1_idx‘);

     

    INDEX_NAME                     PARTITION_NAME

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

    ORDERS_LOCAL_1_IDX             LOCAL1

    ORDERS_LOCAL_1_IDX             LOCAL2

    ORDERS_LOCAL_1_IDX             LOCAL3

    ORDERS_LOCAL_1_IDX             LOCAL4

     

    SQL> alter table orders add partition Q5 values less than (TO_DATE(‘01-APR-2000‘,‘DD-MON-YYYY‘));

     

    Table altered.

     

    SQL> select INDEX_NAME, PARTITION_NAME from dba_ind_partitions where index_name=upper(‘orders_local_1_idx‘);

     

    INDEX_NAME                     PARTITION_NAME

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

    ORDERS_LOCAL_1_IDX             LOCAL1

    ORDERS_LOCAL_1_IDX             LOCAL2

    ORDERS_LOCAL_1_IDX             LOCAL3

    ORDERS_LOCAL_1_IDX             LOCAL4

    ORDERS_LOCAL_1_IDX             Q5

     

     

     

    这里系统已经自动以和表分区相同的名字自动创建了一个索引分区。同理,删除表分区时相对应的索引分区也自动被删除。

     

    本地索引和全局索引还有一个显著的差别,就是上面提到的,本地索引可以创建成本地非前缀型,而全局索引只能是前缀型。

     

     

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    SQL> create index orders_local_2_idx

         on orders(part_no)

          local

           (partition LOCAL1,

            partition LOCAL2,

            partition LOCAL3,

            partition LOCAL4)

         ;

     

    Index created.

     

    SQL> select INDEX_NAME, PARTITION_NAME, HIGH_VALUE from dba_ind_partitions

         where index_name=upper(‘orders_local_2_idx‘);

     

    INDEX_NAME                     PARTITION_NAME                 HIGH_VALUE

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

    ORDERS_LOCAL_2_IDX             LOCAL1                         TO_DATE(‘ 1999-04-01 00:00:00‘, ‘SYYYY-MM-DD HH24:MI:SS‘,

                                                                  ‘NLS_CALENDAR=GREGORIA‘

    ORDERS_LOCAL_2_IDX             LOCAL2                         TO_DATE(‘ 1999-07-01 00:00:00‘, ‘SYYYY-MM-DD HH24:MI:SS‘,

                                                                  ‘NLS_CALENDAR=GREGORIA‘

    ORDERS_LOCAL_2_IDX             LOCAL3                         TO_DATE(‘ 1999-10-01 00:00:00‘, ‘SYYYY-MM-DD HH24:MI:SS‘,

                                                                  ‘NLS_CALENDAR=GREGORIA‘

    ORDERS_LOCAL_2_IDX             LOCAL4                         TO_DATE(‘ 2000-01-01 00:00:00‘, ‘SYYYY-MM-DD HH24:MI:SS‘,

                                                                  ‘NLS_CALENDAR=GREGORIA‘

    从上面的输出可以看出,虽然索引的键值是part_no,但索引分区的键值仍然和表的分区键值相同,即ord_date,也即是所谓的非前缀型索引。

    最后,再引用一个例子说明前缀索引和非前缀索引的应用。

    假设有一个使用DATE列分区的大表。我们经常使用一个VARCHAR2列(VCOL)进行查询,但这个列并不是表的分区键值。

    有两种可能的方法来访问VCOL列的数据,一是建立基于VCOL列的本地非前缀索引,

    可以看出,如果能够保证VCOL列值的唯一性,全局索引将会是最好的选择。如果VCOL列值不唯一,就需要在本地非前缀索引的并行查询和全局索引顺序查询以及高昂的维护代价之间做出选择。

    展开全文
  • Oracle全局索引和局部索引 表可以按range,hash,list分区,表分区后,其上的索引和普通表上的索引有所不同,oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结...
  • Oracle数据库中,分区表有两种类型的分区索引,全局索引和本地索引,其中本地索引又可以分为本地前缀索引和本地非前缀索引 全局索引以整个表的数据为对象建立索引, 索引分区中的索引条目既可能是基于相同的键值...
  • Oracle写丢失错误恢复后的全局索引和分区索引的处理方式 从掉电中恢复过来后,数据库的一些表能访问但是不能insert,update,以我的经验来判断很有可能表上的全局索引和影响到的那个分区的分区索引出现了问题...
  • Oracle数据库中,有两种类型的分区索引,全局索引和本地索引,其中本地索引又可以分为本地前缀索引和本地非前缀索引。下面就分别看看每种类型的索引各自的特点。 全局索引以整个表的数据为对象建立索引,索引分区...
  • 分区索引分为本地(local index)索引和全局索引(global index)。 其中本地索引又可以分为有前缀(prefix)的索引和无前缀(nonprefix)的索引。而全局索引目前只支持有前缀的索引。B树索引和位图索引都可以分区,但是...
  • Oracle索引分区杂谈Oracle数据库中,有两种类型的分区索引,全局索引和本地索引,其中本地索引又可以分为本地前缀索引和本地非前缀索引。下面就分别看看每种类型的索引各自的特点。全局索引以整个表的数据为对象建立...
  • Oracle数据库中,有两种类型的分区索引,全局索引和本地索引,其中本地索引又可以分为本地前缀索引和本地非前缀索引。下面就分别看看每种类型的索引各自的特点。 全局索引以整个表的数据为对象建立索引,索引分区...
  • 1.如果按照索引是否分区作为划分依据,Oracle 的索引类型可以分为非分区索引,全局分区索引和本地分区索引。 2.创建演示实例 --创建非分区表create table test_partition_01( number_1 number, number_2 ...
  • Oracle索引分区分为本地索引分区(Local Partitioned Indexes)和全局索引分区 (Global Partitioned Indexes)两种。  关于二者区别,只要Google一下就一大堆,我只是把自己测试过的列出一二,仅供学习交流。  ...
  • 分区索引就是在所有每个区上单独创建索引,它能自动维护,在drop或truncate某个分区时不影响该索引的其他分区索引的使用,也就是索引不会失效,维护起来比较方便,但是在查询性能稍微有点影响。 建立分区索引: ...
  • oracle 本地索引和全局索引比较

    千次阅读 2015-12-11 22:19:34
    分区索引分为本地(local index)索引和全局索引(global index)。 其中本地索引又可以分为有前缀(prefix)的索引和无前缀(nonprefix)的索引。而全局索引目前只支持有前缀的索引。B树索引和位图索引都可以分区,但是...
  • 表可以按range,hash,list分区,表分区后,其上的索引和普通表上的索引有所不同,oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结。 局部索引local index ...
  • 分区索引分为本地(local index)索引和全局索引(global index)。 其中本地索引又可以分为有前缀(prefix)的索引和无前缀(nonprefix)的索引。而全局索引目前只支持有前缀的索引。B树索引和位图索引都可以分区,但是...
  • oracle分区表仲本地索引和全局索引的适用场景 转自:本地索引和全局索引的适用场景 背景 分区表创建好了之后,如果需要最大化分区表的性能就需要结合索引的使用,分区表有两种索引:本地索引和全局索引。既然存在...
  • 【转】 Oracle全局索引和本地索引

    千次阅读 2010-03-10 18:19:00
    Oracle索引分区杂谈全局索引以整个表的数据为对象建立索引,索引分区中的索引条目既可能是基于相同的键值但是来自不同的分区,也可能是多个不同键值的组合。全局索引既允许索引分区的键值表分区键值相同,也可以不...
  • oracle的分区表、分区索引和全局索引部分总结: http://space.itpub.net/18953778/viewspace-557476 找不到数据对应分区会报: ora-14400插入的分区关键字未映射到任何分区 分区索引与全局索引的性能对比例子,前两个...
  • 全局索引分区索引

    千次阅读 2014-01-06 00:25:22
    表可以按range、hash、list分区,表分区后,其上的索引和普通表上的索引有所不同,oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结。 局部索引local index 1....
  • 本文基于Oracle10gR2分区索引分为本地(local index)索引和全局索引(global index)。其中本地索引又可以分为有前缀(prefix)的索引和无前缀(nonprefix)的索引。而全局索引目前只支持有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,610
精华内容 5,844
关键字:

oracle全局索引和分区索引