创建分区位图索引测试
先创建一个分区表,如下:
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>