建立hash分割槽
語法如下:[圖:hash_partitioning.gif]
語法看起來比range複雜,其實使用起來比range更簡單,這裡需要我們指定的有:
l column:分割槽依賴列(支援多個,中間以逗號分隔);
l partition:指定分割槽,有兩種方式:
n 直接指定分割槽名,分割槽所在表空間等資訊
n 只指定分割槽數量,和可供使用的表空間。
① 建立hash分割槽表
jssweb> create table t_partition_hash (id number,name varchar2(50))
2 partition by hash(id)(
3 partition t_hash_p1 tablespace tbspart01,
4 partition t_hash_p2 tablespace tbspart02,
5 partition t_hash_p3 tablespace tbspart03);
表已建立。
要實現同樣效果,你還可以這樣:
jssweb> create table t_partition_hash2 (id number,name varchar2(50))
2 partition by hash(id)
3 partitions 3 store in(tbspart01,tbspart02,tbspart03);
表已建立。
這就是上面說的,直接指定分割槽數量和可供使用的表空間。
要查詢表的分割槽資訊,仍然是通過user_part_tables,user_tab_partitions兩個資料字典,這裡不再舉例。
② global索引hash分割槽
hash分割槽索引的子句與hash分割槽表的建立子句完全相同,例如:
jssweb> create index idx_part_hash_id on t_partition_hash(id)
2 global partition by hash(id)
3 partitions 3 store in(tbspart01,tbspart02,tbspart03);
索引已建立。
查詢索引的分割槽資訊也仍是通過user_part_indexes、user_ind_partitions兩個資料字典,不再舉例。
③ 建立local索引
在前面學習range分割槽時,我們已經對local索引的特性做了非常清晰的概述,因此這裡也不再舉例,如有疑問,建議再仔細複習range分割槽的相關示例,如果還有疑問,當面問我好了:)
綜上:ø 對於global索引分割槽而言,在10g中只能支援range分割槽和hash分割槽,因此後續示例中不會再提及。
ø 對於local索引分割槽而言,其分割槽形式完全依賴於索引所在表的分割槽形式,不管從建立語法還是理解難度均無技術含量,因此後續也不再提供示例。
ø 注意,在建立索引時如果不顯式指定global或local,則預設是global。
ø 注意,在建立global索引時如果不顯式指定分割槽子句,則預設不分割槽(廢話)。
深入學習分割槽表及分割槽索引 7 怎樣管理 續
分割槽索引的操作也有一張表黑黑,如下 分割槽索引 索引型別 range list hash 組合分割槽 是否帶來io操作 增加分割槽 add partition 全域性 支援 是 本地 刪除分割槽 drop partition 全域性支援 無本地 修改預設屬性 modify default attr...
oracle分割槽表學習及應用
create table 建立分割槽表 create table bill monthfee zero serv id number 20 not null,billing cycle month number 6 not null,date type number 1 acc nbr varcha...
Oracle分割槽表學習及練習
create table 建立分割槽表 create table bill monthfee zero serv id number 20 not null,billing cycle month number 6 not null,date type number 1 acc nbr varcha...