首頁  >  文章  >  oracle表分區的作用

oracle表分區的作用

(*-*)浩
(*-*)浩原創
2019-09-02 11:55:189764瀏覽

表格空間與分割表的概念

oracle表分區的作用

#表空間:(推薦學習: web前端視訊教學

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

分區表: 

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

表分區的具體作用

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

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

何時使用分區表:

1、表格的大小超過2GB。

2、表中包含歷史數據,新的數據被增加都新的分區中。

表格分割區的優缺點

表格分割有下列優點: 

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

2、增強可用性:如果表的某個分區發生故障,表在其他分區的資料仍然可用;

3、維護方便:如果表的某個分區發生故障,則需要修復數據,只修復該分割區即可;

4、均衡I/O:可以把不同的分割區對應到磁碟以平衡I/O,改善整個系統效能。

缺點: 

分區表相關:已經存在的表格沒有方法可以直接轉換成分割表。不過 Oracle 提供了線上重定義表的功能。

(4).表格分割區的幾種型別及運算方法

範圍分割區:

#範圍分割資料基於範圍對應到每一個分割區,這個範圍就是你在建立分區時指定的分區鍵決定的。這種分區方式是最常用的,並且分區鍵經常採用日期。舉個例子:你可能會將銷售資料依照月份進行分區。

當使用範圍分割區時,請考慮以下幾個規則:

1、每一個分割區都必須有一個VALUES LESS THEN子句,它指定了一個不包含在該分割區中的上限值。分區鍵的任何值等於或大於這個上限值的記錄都會被加入到下一個高一些的分區。

2、所有分割區,除了第一個,都會有一個隱式的下限值,這個值就是此分割區的前一個分割區的上限值。

3、在最高的分割區中,MAXVALUE被定義。 MAXVALUE代表了一個不確定的值。這個值高於其它分區中的任何分區鍵的值,也可以理解為高於任何分區中指定的VALUE LESS THEN的值,同時包含空值。

例一:

假設有一個CUSTOMER表,表中有資料200000行,我們將此表透過CUSTOMER_ID進行分割區,每個分割區儲存100000行,我們將每個分割區保存到單獨的表空間中,這樣資料檔案就可以跨越多個實體磁碟。下面是建立表格和分割區的程式碼,如下:

CREATE TABLE CUSTOMER 
( 
    CUSTOMER_ID NUMBER NOT NULL PRIMARY KEY, 
    FIRST_NAME  VARCHAR2(30) NOT NULL, 
    LAST_NAME   VARCHAR2(30) NOT NULL, 
    PHONE        VARCHAR2(15) NOT NULL, 
    EMAIL        VARCHAR2(80), 
    STATUS       CHAR(1) 
) 
PARTITION BY RANGE (CUSTOMER_ID) 
( 
    PARTITION CUS_PART1 VALUES LESS THAN (100000) TABLESPACE CUS_TS01, 
    PARTITION CUS_PART2 VALUES LESS THAN (200000) TABLESPACE CUS_TS02 
)

以上是oracle表分區的作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn