oracle表分割槽

jss001發表於2009-02-24

自從oracle8i 開始可以把一個表分割為多個小的部分,這樣可以對oracle的效能最佳化帶來很大的好處~
例如:改善表的查詢效能,更加容易管理表資料,備份和恢復操作更方便

在oracle 中分割槽表 分為好幾種的(範圍分割槽,雜湊分割槽,子分割槽,列表分割槽,索引分割槽)下面我們來慢慢介紹

現在我們來建立一個[範圍分割槽]
create table RangeTable(
id int primary key,
name varchar(20),
grade int
)
partition by rang(grade)
(
partition part1 values less then(50) tablespace Part1_tb,
partition part2 values less then(MAXVALUE) tablespace Part2_tb
);
如果grade的值小於50的話 就把記錄放到名為part1的分割槽當中,part1分割槽將被儲存在Part1_tb表空間中
其他的就放在part2中 MAXVALUE是oracle的關鍵字 表示最大值

[雜湊分割槽]
create table HashTable(
id int primary key,
name varchar(20),
grade int
)
/*有兩種方式,1就是指定分割槽數目和所使用的表空間,2指定以命名的分割槽*/
partition by hash(grade)
partitions 10 -- 指定分割槽的數目
store in(Part1_tb,Part2_tb,Part3_tb) --如果指定的分割槽數目比表空間多,分割槽會以迴圈方式分配到表空間
/*------------------------------------*/
partition by rang(grade)--這種方式就是 指定以命名的分割槽
(
partition part1 tablespace Part1_tb,
partition part2 tablespace Part2_tb
);

[子分割槽]即是分割槽的分割槽
create table ChildTable(
id int primary key,
name varchar(20),
grade int
)
partition by rang(grade)
subpartition by hash(grade)
partitions 5
(
partition part1 values less then(30) tablespace Part1_tb,
partition part2 values less then(60) tablespace Part2_tb,
partition part3 values less then(MAXVALUE) tablespace Part3_tb
);

[列表分割槽]告訴oracle所有可能的值
create table ListTable(
id int primary key,
name varchar(20),
area varchar(10)
)
partition by list(area)
(
partition part1 values('guangdong','beijing') tablespace Part1_tb,
partition part2 values('shanghai','nanjing') tablespace Part2_tb
);

[索引分割槽]索引也可以按照和表進行分割槽時使用的相同的值範圍來分割槽
create index IndexTable_index
on IndexTable(name)
local
(
partition part1 tablespace Part1_tb,
partition part2 tablespace Part2_tb
)
--local 告訴oracle表 IndexTable的每一個分割槽建立一個獨立的索引
create index IndexTable_index
on IndexTable(name)
global;
--global為全域性索引 全域性索引可以包含多個分割槽的值 區域性索引比全域性索引容易管理,而全域性索引比較快
注意:不能為雜湊分割槽 或者 子分割槽建立全域性索引

查詢某一個表分割槽
select * from table partition(part1);

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1017325/,如需轉載,請註明出處,否則將追究法律責任。

相關文章