讀書筆記 Oracle資料庫之 分割槽

2021-07-11 18:09:57 字數 2842 閱讀 2128

分割槽:是將乙個表或索引物理的分解為多個更小、更可管理的部分。

由於從資料庫中將大段分解成了若干小段

在大型倉庫環境中,通過使用分割槽可以消除很大的資料區間,從而不必考慮他們,相應的根本不用訪問這些資料;

但在事務性系統中並不適用,因為這種系統本身就只是訪問少量的資料; 

可以把修改分布到多個單獨的分割槽上

即:如果乙個大段遭遇激烈的競爭,可以把它分為多個小段,從而成比例的減少競爭。

oracle中

最常用的分割槽機制

可以指定應當儲存在一起的資料區間;

例如:

2023年10月所有資料儲存在分割槽1中,2023年11月所有資料儲存在分割槽2中;

指在乙個列或多個列上應用乙個雜湊函式,資料記錄會按照這個雜湊值存放在相應的分割槽中。

制定乙個離散值集,來確定應當儲存在一起的資料。

例如:

可以指定status列值在(『a』,『m』,『z』)中的行放在分割槽1中,status列值在(『c』,『d』,『f』)中的行放在分割槽2中

與區間分割槽相似,區別在於資料庫本身可以再資料到來時建立新的分割槽。

區間分割槽:dba必須在建立分割槽時包含(現在及未來)所有可能的值,或dba需定期建立分割槽
間隔分割槽:當無法放入根據dba制定的規則建立的現有分割槽,資料庫本身就會建立新的分割槽
引用分割槽
允許由外來鍵強制的父子關係中的子表繼承父表的分割槽機制。
這樣就能夠建立子表與其附表的對等分割槽,而不必對資料模型進行反規範化。

為區間分割槽與雜湊分割槽的一種組合,或是 區間分割槽與列表分割槽的組合。

通過組合分割槽,可以先對某些資料應用分割槽機制,再利用某種分割槽機制將分區分到子區間。

alter table range_example

enable row movement;

--oracle8.0中沒有這樣的功能,必須先刪除行,再重新插入。

執行行移動時,實際上在內部就好像先刪除了這一行,然後再將其重新插入。

這會更新這個表上的索引,刪除舊的索引條目,再插入乙個新條目。

此時會完成delete再加乙個insert的相應物理工作,但在oracle看來卻還是乙個更新。因此不會導致insert和delete觸發器出發,只有update觸發器會觸發。

另外,由於外來鍵約束可能不允許,所以delete子表也不會出發delete觸發器。

由於行移動的開銷比正常update昂貴的多,所以,系統構建應避免 頻繁修改分割槽鍵,尤其是修改會導致分割槽移動。

■ 隨錶對索引完成相應的分割槽:

也稱為「區域性索引」(locally index)。每個表分割槽都有乙個索引分割槽,而且只索引該錶分割槽。乙個給定索引分割槽中的所有條目都指向乙個表分割槽,表分割槽

中的所有行都表示在乙個索引分割槽中。

■ 按區間或雜湊對索引分割槽:

也稱為「全域性分割槽索引」(globally partitioned index)。

索引按區間分割槽(或在10g及更高版本中還可以按雜湊分割槽),乙個索引分割槽可能指向任何(和所有)表分割槽。

由於全域性索引只按照區間分割槽、雜湊分割槽,若希望使用列表分割槽或組合分割槽,則必須使用區域性索引。

區域性索引會使用與底層表相同的機制分割槽。

1.什麼是oltp?

on-line transaction processing

聯機事務處理

過程(oltp)

基本特徵是前台接收的使用者資料可以立即傳送到計算中心進行處理,並在很短的時間內給出處理結果,是對使用者操作快速響應的方式之一。

oltp系統參考:

2.什麼是倉庫系統 ?

on-line analytical processing 聯機分析處理(olap)

3.oltp與olap?

當今的資料處理大致可以分成兩大類:

資料庫重構 讀書筆記

資料庫重構一書是經前面 重構 改善既有 的設計 中提到,想著以往資料庫重構中的多種問題,當時就下單買了,但是當時沒細看,看封面是中文,結果也就封面是中文,內容都是英文,還好前面有些英語基礎就直接看了。此書出版於2007年,在 重構 一書之後,整體結構與部分思想甚至內容有些相似,畢竟都是經驗分享類書籍...

Oracle 10g 讀書筆記之資料庫表

oracle 中主要有 9 種表型別 1 堆組織表 這些就是 普通 的標準資料庫表。資料會放在最合適的地方,而不是以某種特定順序來放置。2 索引組織表 這些表按索引結構儲存。在堆中,只要放得下,資料可以放在任何位置 而索引組織表的資料要根據主鍵有序地儲存。create table name orga...

MySQL資料庫入門 讀書筆記(三)

第三章 新增資料 為表中所有字段新增資料 insert語句中指定所有欄位名 insetinto student id,name,grade values 1,mike 98.5 順序可以不指定,但必須和values對應insert intostudent name,id,grade values m...