创建分区位图索引测试

先创建一个分区表,如下:

SQL> create table test_part_index
 
2  (
 3   id                    NUMBER,
 4   time            DATE not null
  5  )
  6  partition by range(TIME)
  7  (
 8    partitionPT_201308 values less than (TO_DATE(' 2013-09-01 00:00:00','SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
 9     tablespace VATS_DAT,
 10   partition PT_201309 values less than (TO_DATE(' 2013-10-0100:00:00', 'SYYYY-MM-DD HH24:MI:SS','NLS_CALENDAR=GREGORIAN'))
 11     tablespace VATS_DAT
 12  );

Table created.

可以在分区表上创建位图索引,但是它们必须作为local索引创建,例如:

SQL> create bitmap index ind_bm on test_part_index(id)local;

Index created.

除非创建local位图索引,否则oracle不允许在分区表上创建位图索引。如果在分区表尝试创建非分区的位图索引,就会收到以下错误提示信息:

SQL> drop indexind_bm;       

Index dropped.

SQL> create bitmap index ind_bm on test_part_index(id);
create bitmap index ind_bm on test_part_index(id)
                             *
ERROR at line 1:
ORA-25122: Only LOCAL bitmap indexes are permitted on partitionedtables

同样,oracle也不允许对分区表创建全局分区的位图索引,例如:

SQL> create bitmap index ind_bm on test_part_index(id)global;
create bitmap index ind_bm on test_part_index(id) global
                                                 *
ERROR at line 1:
ORA-25113: GLOBAL may not be used with a bitmap index


SQL>

你可能感兴趣的:(oracle)