自其它博友的文章得知,对于分区表,创建分区索引,可不用指定local之后的分区名字,而由oracle自动指派.
是否果真如此,自己动手,丰衣足食.而且增加下记忆.岂不更好.
是否果真如此,自己动手,丰衣足食.而且增加下记忆.岂不更好.
闲言少叙,入正题:
----沿用之前测试的分区表t_test_partition_1
----查询分区表的分区索引信息
SQL> select index_name,partition_name from user_ind_partitions where index_name
in (select index_name from user_indexes where table_name='T_TEST_PARTITION_1');
SQL> select index_name,partition_name from user_ind_partitions where index_name
in (select index_name from user_indexes where table_name='T_TEST_PARTITION_1');
INDEX_NAME PARTITION_NAME
------------------------------ ------------------------------
PK_T_TEST_PARTITION_1_ID P3
PK_T_TEST_PARTITION_1_ID P4
PK_T_TEST_PARTITION_1_ID P5
PK_T_TEST_PARTITION_1_ID P1
IDX_T_TEST_PARTITION_1_ID P2_IDX2
IDX_T_TEST_PARTITION_1_ID P3_IDX3
IDX_T_TEST_PARTITION_1_ID P4_IDX4
IDX_T_TEST_PARTITION_1_ID P5_IDX5
IDX_T_TEST_PARTITION_1_ID P1_OLD
PK_T_TEST_PARTITION_1_ID P2
------------------------------ ------------------------------
PK_T_TEST_PARTITION_1_ID P3
PK_T_TEST_PARTITION_1_ID P4
PK_T_TEST_PARTITION_1_ID P5
PK_T_TEST_PARTITION_1_ID P1
IDX_T_TEST_PARTITION_1_ID P2_IDX2
IDX_T_TEST_PARTITION_1_ID P3_IDX3
IDX_T_TEST_PARTITION_1_ID P4_IDX4
IDX_T_TEST_PARTITION_1_ID P5_IDX5
IDX_T_TEST_PARTITION_1_ID P1_OLD
PK_T_TEST_PARTITION_1_ID P2
已选择10行。
---删除分区索引
SQL> drop index pk_t_test_partition_1_id;
SQL> drop index pk_t_test_partition_1_id;
索引已删除。
SQL> drop index idx_t_test_partition_1_id;
索引已删除。
--再次查询分区索引,已经删除
SQL> select index_name,partition_name from user_ind_partitions where index_name
in (select index_name from user_indexes where table_name='T_TEST_PARTITION_1');
SQL> select index_name,partition_name from user_ind_partitions where index_name
in (select index_name from user_indexes where table_name='T_TEST_PARTITION_1');
未选定行
----查询分区表的分区数量,对于分区索引,其数量和分区的分区数量是相同的
SQL> select table_name,partition_name from user_tab_partitions where table_name=
'T_TEST_PARTITION_1';
SQL> select table_name,partition_name from user_tab_partitions where table_name=
'T_TEST_PARTITION_1';
TABLE_NAME PARTITION_NAME
------------------------------ ------------------------------
T_TEST_PARTITION_1 P1_OLD
T_TEST_PARTITION_1 P2
T_TEST_PARTITION_1 P3
T_TEST_PARTITION_1 P4
T_TEST_PARTITION_1 P5
------------------------------ ------------------------------
T_TEST_PARTITION_1 P1_OLD
T_TEST_PARTITION_1 P2
T_TEST_PARTITION_1 P3
T_TEST_PARTITION_1 P4
T_TEST_PARTITION_1 P5
----创建分区索引,但在local之后未用partition 子句
SQL> create index idx_t_test_partition_1_reqtime on t_test_partition_1(reqtime)
local;
SQL> create index idx_t_test_partition_1_reqtime on t_test_partition_1(reqtime)
local;
索引已创建。
----查询创建的分区索引是否成功,与分区表的分区数量相同吗,果真相同
SQL> select index_name,partition_name from user_ind_partitions where index_name
in (select index_name from user_indexes where table_name='T_TEST_PARTITION_1');
INDEX_NAME PARTITION_NAME
------------------------------ ------------------------------
IDX_T_TEST_PARTITION_1_REQTIME P1_OLD
IDX_T_TEST_PARTITION_1_REQTIME P3
IDX_T_TEST_PARTITION_1_REQTIME P2
IDX_T_TEST_PARTITION_1_REQTIME P4
IDX_T_TEST_PARTITION_1_REQTIME P5
------------------------------ ------------------------------
IDX_T_TEST_PARTITION_1_REQTIME P1_OLD
IDX_T_TEST_PARTITION_1_REQTIME P3
IDX_T_TEST_PARTITION_1_REQTIME P2
IDX_T_TEST_PARTITION_1_REQTIME P4
IDX_T_TEST_PARTITION_1_REQTIME P5
--小结:1,create index local和create index local partition语句的作用相同,前者更快捷方便
2,前者语句创建的分区索引的每个分区的名称与分区表的分区名称是相同的,
而create index local partition在此就更灵活一点了,可以指定与表分区的分区名称不
一样的名称,大家根据维护的要求来吧
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-751892/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9240380/viewspace-751892/