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

Atitit.常用分區api的attilax總結,atititattilax

編輯:Oracle教程

Atitit.常用分區api的attilax總結,atititattilax


Atitit.常用分區api的attilax總結

 

 

1. Api 來源與oracle與mysql1

1.1. 分區定義partition by range (uid)  使用VALUES LESS THAN操作符來進行定1

1.1.1. mysql1

1.1.2. Oracle分區定義partition by range (uid)  使用VALUES LESS THAN操作符來進行定2

1.2. 分區按照hash2

1.2.1. Oracle語法2

1.3.  列表分區: partition by list()。3

1.4. 分區的修改和合並3

1.5. Del parition3

1.6. 查看分區how create table 表名4

1.6.1. 分區管理 oracle4

2. Refer4

 

1. Api 來源與oracle與mysql

 

1.1. 分區定義partition by range (uid) 
使用VALUES LESS THAN操作符來進行定

 

作者:: 老哇的爪子 Attilax 艾龍,  EMAIL:[email protected]

轉載請注明來源: http://www.cnblogs.com/attilax/

 

1.1.1. mysql

partition by range (uid) 
( partition p0 values less than (10000) data directory = "/data00/" index directory = "/data00/", 
partition p1 values less than (20000) data directory = "/data00/" index directory = "/data00/", 
partition p2 values less than (30000) data directory = "/data00/" index directory = "/data00/", 
partition p3 values less than maxvalue data directory = "/data00/" index directory = "/data00/"
);

 

1.1.2. Oracle分區定義partition by range (uid) 
使用VALUES LESS THAN操作符來進行定

 

partition by range (uid) 
( partition p0 values less than (10000) data directory = "/data00/" index directory = "/data00/", 
partition p1 values less than (20000) data directory = "/data00/" index directory = "/data00/", 
partition p2 values less than (30000) data directory = "/data00/" index directory = "/data00/", 
partition p3 values less than maxvalue data directory = "/data00/" index directory = "/data00/"
);

 

 

 

 

1.2. 分區按照hash

1.2.1. Oracle語法

散列分區:指在一個(或多個列)上應用一個散列函數,行會按這個散列值放在某個分區中。適用於事先不知道指定范圍內有多少數據,以及如果用范圍分區,各區之間數據量差異很大、很難人工干預分區間數量平衡的情況。語法是:partition by hash()。例如:

create table department(

Deptnoid int primary key,

Deptname varchar(20)

)

partition by hash(Deptnoid) (

Partition p1,

Partition p2

)

 

 

 

 

 

 

1.3.  列表分區: partition by list()。

指定一個離散值集,來確定應當存儲在一起的數據。例如,可以指定STATUS列值在(’A’,’M’,’Z’ )中的行放在分區1中,STATUS值在( ‘D’,P’,’Q’ )中的行放在分區2中,依此類推。列表分區和范圍分區的不同主要是列表分區按照預先給定的一系列離散值進行分區,新數據插入表中時,根據分區鍵值找到對應分區。列表分區的分區列只有一個,當然其單個分區對應值可以使多個。在分區時必須確定分區列可能存在的值,一旦插入的列值不在分區范圍內,則插入/更新就會失敗,因此通常建議使用list分區時,要創建一個default分區,存儲那些不在指定范圍內的記錄,類似range分區中的maxvalue分區。語法是:partition by list()。例如:

create table ListTable(

id int primary key,

area varchar(10)

)

partition by list(area)

(

partition part1 values('guangdong','beijing') ,

partition part2 values('shanghai','nanjing'),

partition part3 values(default)

); 

 

1.4. 分區的修改和合並



以下是將p0分區再分割成2分區s0,s1的例子:

 

1.5. Del parition

 

 alter table titles drop partition p01;

 

1.6. 查看分區how create table 表名

看創建分區表

Uapi  listPatition

 

 

 

1.6.1.  分區管理 oracle

      分區可以和表一樣進行增刪改查。SQL語句示意如下。

添加分區:alter table xxx add partition p5 values less than (100)。特別注意對於list、range這樣存在范圍值的分區,所增加的分區值必須要大於當前分區中的最大值,否則會報錯,hash分區無此限制。

刪除分區:alter table student drop partition p4.

合並分區:alter table student merge partitions p3, p4  into partition p6.

 

 

2. Refer

Atitit.數據庫分區的設計 attilax  總結

數據庫學習之分區技術_Doraemonls_新浪博客.htm

 

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