當資料非常龐大的時候,比如,要查詢id<1000的時候,如果不使用表分割槽的話,需要全表掃瞄(判斷每條記錄的id是否小於1000),這樣大大影響了查詢的速度。建立索引是效能調優的方法,同樣,表分割槽也是。每個分割槽都是獨立的乙個段,可以放在不同的表空間下面。
表分割槽有以下優點:
(1)由於將資料分散到各個區中,減少了資料損壞的可能性。
(2)可以對單獨的分割槽進行資料的備份與恢復。
(3)可以將分割槽分散到不同的物理磁碟,來分散io。
(4)提高資料庫管理與效能。
oracle提供了以下幾種分割槽方法:
(1)範圍分割槽(range) (2)雜湊分割槽(hash) (3)列表分割槽(list)
(4)範圍-雜湊分割槽 (5)範圍-列表分割槽
range分割槽:就是根據表的某個字段值範圍進行分割槽。 如下:建立分割槽表,根據id的值進行分割槽,如果某些值暫時無法**,可以使用maxvalue。
create檢視使用者表分割槽情況:table testpartition(id number,name varchar(100)) partition by
range(id)
( partition p1
values less than (10
), partition p2
values less than (20
), partition p3
values less than (30
), partition p4
values
less than (maxvalue)
)
插入資料:
insert查詢各個分割槽的資料:into testpartition values(15,'
zhengxisheng')
insert
into testpartition values(5,'
jisheng')
insert
into testpartition values(32,'
jidong
')
select更新資料:報錯如下:*from testpartition partition(p2)
需要成設定可移動的分割槽:
alter再次查詢分割槽p2的資料:table
testpartition enable row movement
update testpartition set id ='12
'where id ='5
'
oracle表分割槽設計 ORACLE 分割槽表的設計
分割槽表的概念 分割槽致力於解決支援極大表和索引的關鍵問題。它採用他們分解成較小和易於管理的稱為分割槽的片 piece 的方法。一旦分割槽被定義,sql語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存和分析巨量的歷史資料。分割槽表...
oracle表分割槽設計 ORACLE分割槽表的設計
分割槽表的概念 分割槽致力於解決支援極大表和索引的關鍵問題。它採用他們分解成較小和易於管理的稱為分割槽的片 piece 的方法。一旦分割槽被定義,sql語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存和分析巨量的歷史資料。分割槽表...
oracle表分割槽設計 ORACLE 分割槽表的設計
oracle 分割槽表的設計 分割槽表的概念 分割槽致力於解決支援極大表和索引的關鍵問題。它採用他們分解成較小和易於管理的稱為分割槽的片 piece 的方法。一旦分割槽被定義,sql語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存...