程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> oracle表分區總結

oracle表分區總結

編輯:Oracle數據庫基礎

Oracle中提供了對表進行分區的機制,通過表分區,可以將表空間中數據按照某種方式分別存放到特定的分區中。表分區的作用:平衡IO操作,分區均勻,提高效率。

  
Oracle中表分區方法有:范圍分區法、散列分區法、復合分區法、列表分區法。

范圍分區:
語法 Partition by range(); 適合數值型或日期型
示例:


1 create table Student
2(
3      Studentid integer not null,
4      Studentname varchar2(20),
5      Score integer
6)
7 Partition by0)"> range(Score)
8(
9      Partition p1 values less than(60),
10      Partition p2 values less than(75),
11      Partition p3 values less than(85),
12      Partition p4 values less than(maxvalue)
13 );

散列分區法:根據Oracle內部散列算法存儲,語法 Partition by hash();
實例:

1 create table department
2 (
3      Deptno int,
4 0)">     Deptname varchar2(24)
5 )
6 Partition by hash(deptno)
7 (
8      Partition p1,
9      Partition p2
10 );

復合分區法:由上面兩種方法復合而成
示例:


1 create table salgrade
2 (
3      grade number,
4      losal number,
5      hisal number
6 )
70)">Partition by range(grade)
8 Subpartition by hash(losal,hisal)
9 (
10      Partition p1 values less than(10)
11        (subpartition sp1,subpartition sp2),
12      Partition p2 values less than(20)
13        (subpartition sp3,subpartition sp4)
14 )

列表分區法:適合字符型 語法Partition by list()
實例:


1 create table customer
2 (
3 0)">     custNo int,
4      custname varchar(20),
5      custState varchar(20)
6 )
7 Partition by list(custState)
8 (
9      Partition saia values(''中國'',''韓國'',''日本''),
10      Partition Europe values(''英國'',

0,0)">''俄國'',''法國''),
11      Partition ameria values(''美國'',''加拿大'',''墨西哥''),
12 );
13     

表分區維護:

添加分區:alter table student add partition p5 values less than(120);
刪除分區:alter table student drop partition p4;
截斷分區:alter table student truncate partition p5;
合並分區:alter table student merge partitions p3,p4 into partition p6;
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved