全面學習分割槽表及分割槽索引(6)--建立range-list組合分割槽
建立range-list組合分割槽
Range-list組合分割槽的建立與range-hash極為相似,只是子分割槽為list分割槽,當然同樣也可以應用分割槽模板,下面也舉一個示例:
JSSWEB> create table t_partition_rl (id number,name varchar2(50))
2 partition by range(id) subpartition by list(name)
3 subpartition template (
4 subpartition l1 values ('aa') tablespace tbspart01,
5 subpartition l2 values ('bb') tablespace tbspart02,
6 subpartition l3 values ('cc') tablespace tbspart03,
7 subpartition l4 values ('dd') tablespace tbspart04)(
8 partition t_r_p1 values less than (10) tablespace tbspart01,
9 partition t_r_p2 values less than (20) tablespace tbspart02,
10 partition t_r_p3 values less than (30) tablespace tbspart03,
11 partition t_r_pd values less than (maxvalue) tablespace tbspart04);
表已建立。
JSSWEB> select partition_name,subpartition_name,tablespace_name
2 from user_tab_subpartitions where table_name='T_PARTITION_RL';
PARTITION_NAME SUBPARTITION_NAME TABLESPACE_NAME
--------------- ------------------------------ --------------------
T_R_P1 T_R_P1_L4 TBSPART01
T_R_P1 T_R_P1_L3 TBSPART01
T_R_P1 T_R_P1_L2 TBSPART01
T_R_P1 T_R_P1_L1 TBSPART01
T_R_P2 T_R_P2_L4 TBSPART02
T_R_P2 T_R_P2_L3 TBSPART02
T_R_P2 T_R_P2_L2 TBSPART02
T_R_P2 T_R_P2_L1 TBSPART02
T_R_P3 T_R_P3_L4 TBSPART03
T_R_P3 T_R_P3_L3 TBSPART03
T_R_P3 T_R_P3_L2 TBSPART03
T_R_P3 T_R_P3_L1 TBSPART03
T_R_PD T_R_PD_L4 TBSPART04
T_R_PD T_R_PD_L3 TBSPART04
T_R_PD T_R_PD_L2 TBSPART04
T_R_PD T_R_PD_L1 TBSPART04
已選擇16行。
其它方式的建立對於range-list同樣好使,這裡不再舉例,如有不明,請自學複習前章range_hash組合分割槽。
對於複合分割槽的local索引,我們也舉一個示例,檢視其分割槽情況:
SQL> create index idx_part_rl_id on t_partition_rl(id) local;
索引已建立。
又可以學幾個資料字典:user_part_indexes、user_ind_partitions前面已經認識了,user_ind_subpartitions用來查詢索引的子分割槽資訊。
SQL> select table_name,partitioning_type,
2 partition_count,def_subpartition_count
3 from user_part_indexes
4 where index_name = 'IDX_PART_RL_ID';
TABLE_NAME PARTITI PARTITION_COUNT DEF_SUBPARTITION_COUNT
------------------------------ ------- --------------- ----------------------
T_PARTITION_RL RANGE 4 4
SQL> select partition_name, subpartition_count, high_value
2 from user_ind_partitions
3 where index_name = 'IDX_PART_RL_ID';
PARTITION_NAME SUBPARTITION_COUNT HIGH_VALUE
--------------- ------------------ ---------------
T_R_P1 4 10
T_R_P2 4 20
T_R_P3 4 30
T_R_PD 4 MAXVALUE
SQL> select partition_name, subpartition_name, high_value, tablespace_name
2 from user_ind_subpartitions
3 where index_name = 'IDX_PART_RL_ID';
PARTITION_NAME SUBPARTITION_NAME HIGH_VALUE TABLESPACE_NAME
--------------- ------------------------------ --------------- --------------------
T_R_P1 T_R_P1_L1 'aa' TBSPART01
T_R_P1 T_R_P1_L2 'bb' TBSPART01
T_R_P1 T_R_P1_L3 'cc' TBSPART01
T_R_P1 T_R_P1_L4 'dd' TBSPART01
T_R_P2 T_R_P2_L1 'aa' TBSPART02
T_R_P2 T_R_P2_L2 'bb' TBSPART02
T_R_P2 T_R_P2_L3 'cc' TBSPART02
T_R_P2 T_R_P2_L4 'dd' TBSPART02
T_R_P3 T_R_P3_L1 'aa' TBSPART03
T_R_P3 T_R_P3_L2 'bb' TBSPART03
T_R_P3 T_R_P3_L3 'cc' TBSPART03
T_R_P3 T_R_P3_L4 'dd' TBSPART03
T_R_PD T_R_PD_L1 'aa' TBSPART04
T_R_PD T_R_PD_L2 'bb' TBSPART04
T_R_PD T_R_PD_L3 'cc' TBSPART04
T_R_PD T_R_PD_L4 'dd' TBSPART04
已選擇16行。
還是與表的分割槽格式一樣,不管是普通分割槽還是複合分割槽,local索引都沒啥自主權啊。
公共準則
1、如果選擇的分割槽不能確保各分割槽內記錄量的基本平均,則這種分割槽方式有可能是不恰當的。
比如對於range分割槽,假設分了10個分割槽,而其中一個分割槽中的記錄數佔總記錄數的90%,其它9個分割槽只佔總記錄數的10%,則這個分割槽方式就起不到資料平衡的作用。當然,如果你的目的並不是為了平衡,只是為了區分資料,ok,對於這種情況,我想說的是,你務必要意識到存在這個問題。
2、對於分割槽的表或索引,其所涉及的所有分割槽,其塊大小必須一致。
最後,建議對於上面建立的表或建表指令碼妥善儲存並記憶,後面我們需要頻繁用到,後續示例將均主要依賴前文中建立的表進行:)
=======================================
檢視前面的連載:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-266479/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 全面學習分割槽表及分割槽索引(11)--合併表分割槽索引
- 全面學習分割槽表及分割槽索引(10)--交換分割槽索引
- 全面學習分割槽表及分割槽索引(13)--分隔表分割槽索引
- 全面學習分割槽表及分割槽索引(1)索引
- 全面學習分割槽表及分割槽索引(9)--刪除表分割槽索引
- 全面學習分割槽表及分割槽索引(12)--修改list表分割槽索引
- 深入學習分割槽表及分割槽索引(5)--建立range-hash組合分割槽(續)索引
- 全面學習分割槽表及分割槽索引(17)--其它索引分割槽管理操作索引
- 全面學習分割槽表及分割槽索引(16)--增加和刪除索引分割槽索引
- 全面學習分割槽表及分割槽索引(8)--增加和收縮表分割槽索引
- 分割槽表及分割槽索引建立示例索引
- 全面學習分割槽表及分割槽索引(15)--修改表分割槽屬性和模板索引
- 全面學習分割槽表及分割槽索引(7)--怎樣管理索引
- 深入學習Oracle分割槽表及分割槽索引Oracle索引
- 深入學習分割槽表及分割槽索引(1)索引
- 全面認識oracle分割槽表及分割槽索引Oracle索引
- 全面學習分割槽表及分割槽索引(7)--怎樣管理(續)索引
- Oracle分割槽表及分割槽索引Oracle索引
- 【學習筆記】分割槽表和分割槽索引——管理索引分割槽(四)筆記索引
- 【三思筆記】 全面學習Oracle分割槽表及分割槽索引筆記Oracle索引
- 學習筆記】分割槽表和分割槽索引——新增表分割槽(二)筆記索引
- 【學習筆記】分割槽表和分割槽索引——分割槽表的其他管理(三)筆記索引
- 全面學習分割槽表及分割槽索引(14)--截斷、移動和重新命名索引
- 簡單ORACLE分割槽表、分割槽索引Oracle索引
- rebuild分割槽表分割槽索引的方法Rebuild索引
- 如何查詢分割槽表的分割槽及子分割槽
- 【學習筆記】分割槽表和分割槽索引——概念部分(一)筆記索引
- 分割槽表分割槽索引查詢效率探究索引
- Oracle分割槽表基礎運維-05組合分割槽Oracle運維
- Oracle分割槽之五:建立分割槽索引總結Oracle索引
- Oracle帶區域性分割槽索引的分割槽表刪除舊分割槽新增新分割槽Oracle索引
- 分割槽表並行建立索引並行索引
- oracle分割槽partition及分割槽索引partition index(一)Oracle索引Index
- 分割槽表、分割槽索引和全域性索引部分總結索引
- 【實驗】【PARTITION】RANGE分割槽表合併分割槽
- Oracle分割槽表基礎運維-06分割槽表索引Oracle運維索引
- INTERVAL分割槽表鎖分割槽操作
- oracle分割槽表和分割槽表exchangeOracle