Oracle表分割槽詳解

2021-06-19 05:45:37 字數 2444 閱讀 8939

此文從以下幾個方面來整理關於分割槽表的概念及操作:

1.表空間及分割槽表的概念

2.表分割槽的具體作用

3.表分割槽的優缺點

4.表分割槽的幾種型別及操作方法

5.對錶分割槽的維護性操作.

一、表空間及分割槽表的概念

表空間:

是乙個或多個資料檔案的集合,所有的資料物件都存放在指定的表空間中,但主要存放的是表, 所以稱作表空間。

分割槽表: 

當表中的資料量不斷增大,查詢資料的速度就會變慢,應用程式的效能就會下降,這時就應該考慮對錶進行分割槽。表進行分割槽後,邏輯上表仍然是一張完整的表,只是將表中的資料在物理上存放到多個表空間(物理檔案上),這樣查詢資料時,不至於每次都掃瞄整張表。

二、表分割槽的具體作用

oracle的表分割槽功能通過改善可管理性、效能和可用性,從而為各式應用程式帶來了極大的好處。通常,分割槽可以使某些查詢以及維護操作的效能大大提高。此外,分割槽還可以極大簡化常見的管理任務,分割槽是構建千兆位元組資料系統或超高可用性系統的關鍵工具。

分割槽功能能夠將表、索引或索引組織表進一步細分為段,這些資料庫物件的段叫做分割槽。每個分割槽有自己的名稱,還可以選擇自己的儲存特性。從資料庫管理員的角度來看,乙個分割槽後的物件具有多個段,這些段既可進行集體管理,也可單獨管理,這就使資料庫管理員在管理分割槽後的物件時有相當大的靈活性。但是,從應用程式的角度來看,分割槽後的表與非分割槽表完全相同,使用 sql dml 命令訪問分割槽後的表時,無需任何修改。

什麼時候使用分割槽表:

1.表的大小超過2gb。

2.表中包含歷史資料,新的資料被增加都新的分割槽中。

三、表分割槽的優缺點

表分割槽有以下優點: 

1.改善查詢效能:對分割槽物件的查詢可以僅搜尋自己關心的分割槽,提高檢索速度。

2.增強可用性:如果表的某個分割槽出現故障,表在其他分割槽的資料仍然可用;

3.維護方便:如果表的某個分割槽出現故障,需要修復資料,只修復該分割槽即可;

4.均衡i/o:可以把不同的分割槽對映到磁碟以平衡i/o,改善整個系統效能。

缺點: 

四、表分割槽的幾種型別及操作方法

oracle表分割槽分為四種:範圍分割槽、雜湊分割槽、列表分割槽和復合分割槽。

1.範圍分割槽:就是根據資料庫表中某一字段的值的範圍來劃分分割槽,例如:

create table graderecord

( sno varchar2(10),

sname varchar2(20),

dormitory varchar2(3),

grade int

)partition by range(grade)

( partition bujige values less than(60), --不及格

partition jige values less than(85), --及格

partition youxiu values less than(maxvalue) --優秀

)

插入實驗資料:

insert into graderecord values('511601','魁','229',92);

insert into graderecord values('511602','凱','229',62);

insert into graderecord values('511603','東','229',26);

insert into graderecord values('511604','亮','228',77);

insert into graderecord values('511605','敬','228',47);

insert into graderecord(sno,sname,dormitory) values('511606','峰','228');

insert into graderecord values('511607','明','240',90);

insert into graderecord values('511608','楠','240',100);

insert into graderecord values('511609','濤','240',67);

insert into graderecord values('511610','博','240',75);

insert into graderecord values('511611','錚','240',60);

下面查詢一下全部資料,然後查詢各個分割槽資料,**一起寫:

select * from graderecord;

select * from graderecord partition(bujige);

select * from graderecord partition(jige);

select * from graderecord partition(youxiu);

oracle表分割槽詳解 三

五.復合範圍雜湊分割槽 這種分割槽是基於範圍分割槽和雜湊分割槽,表首先按某列進行範圍分割槽,然後再按某列進行雜湊分割槽。create table dinya test transaction id number primary key,item id number 8 not null,item d...

oracle表分割槽設計 ORACLE 分割槽表的設計

分割槽表的概念 分割槽致力於解決支援極大表和索引的關鍵問題。它採用他們分解成較小和易於管理的稱為分割槽的片 piece 的方法。一旦分割槽被定義,sql語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存和分析巨量的歷史資料。分割槽表...

oracle表分割槽設計 ORACLE分割槽表的設計

分割槽表的概念 分割槽致力於解決支援極大表和索引的關鍵問題。它採用他們分解成較小和易於管理的稱為分割槽的片 piece 的方法。一旦分割槽被定義,sql語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存和分析巨量的歷史資料。分割槽表...