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

2021-08-31 19:35:07 字數 1909 閱讀 6654

oracle 中主要有 9 種表型別:

1、堆組織表:這些就是「普通」的標準資料庫表。資料會放在最合適的地方,而不是以某種特定順序來放置。

2、索引組織表:這些表按索引結構儲存。在堆中,只要放得下,資料可以放在任何位置;而索引組織表的資料要根據主鍵有序地儲存。

create table name(..) organization index

如果乙個表的大小與索引的大小相當的時候,就適合索引組織表。

3、索引聚簇表:聚簇是指乙個或多個表組成的組,這些表物理地儲存在相同的資料塊上,有相同聚簇鍵值的所有行會相鄰地物理儲存。

建立索引聚簇,列名稱可以與表不同,但型別一定要一致:create cluster name(col_name) size 1024

在聚簇中建立表:create table name(...) cluster cluster_name(col_name)

與「正常」表唯一的區別是使用了 cluster 關鍵字,告訴 oracle 基表的哪個列會對映到聚簇本身的聚簇鍵。

如果資料主要用於讀,而且要通過索引來讀,另外會頻繁地把這些資訊聯結在一起,此時聚簇就很適合。設計 oracle 字典的人就是這樣做的。

4、雜湊聚簇表:這些表類似於聚簇表,但是不使用 b* 樹索引按聚簇鍵來定位資料,而是將鍵散到聚簇上,從而找到資料應該在哪個資料塊上。

建立雜湊聚簇:create cluster name(col_name) hashkeys 1000 size 1024

5、有序雜湊聚簇表:這種表型別是 oracle 10g 中新增的,它結合了雜湊聚簇表的某些方面,同時兼有索引聚簇表的一些方面。

建立有序雜湊聚簇:create cluster name(col_name) hashkeys 1000 hash is col_name size 1024

6、巢狀表:它們是系統生成和維護的父/子關係中的子表。

7、臨時表:這些表儲存的是事務期間或會話期間的「草稿」資料。

8、物件表:物件表基於某種物件型別建立。

9、外部表:這些表並不儲存在資料庫本身中,而是放到平常的作業系統檔案中。

oracle 段是占用磁碟上儲存空間的乙個物件。常見的段型別如下:

2、表:表段儲存乙個資料庫表的資料。通常與索引段聯合使用。

3、表分割槽或子分割槽:這種段型別用於分割槽,與表段很相似。

4、索引:這種段型別可以儲存索引結構。

5、索引分割槽:類似於表分割槽,這種段型別包含乙個索引的某個片。

6、lob 分割槽、lob 子分割槽、lob 索引和 lob 段:用於儲存大物件。

7、巢狀表:這是為巢狀表指定的段型別,它是主/明細關係中一種特殊型別的「子」表。

8、回滾段和 type2 undo 段:undo 資料就儲存在這裡。回滾段是由 dba 手動建立的段。type2 undo 段由 oracle 自動建立和管理。

段空間管理有兩種方式:

1、手動段空間管理:手工設定 freelists、freelistgroups、pctused 和其他引數來控制如何分配、使用和重用段中的空間。

2、自動段空間管理:只需要設定乙個引數 pctfree。其它輔助的有 buffer_pool、initrans。

pctfree 引數用來告訴 oracle 應該在塊上保留多少空間來完成將來的更新,預設 10%,如果太高會浪費空間,如果太低更新行時會導致行遷移。

行遷移是指由於某一行變得太大,無法再與其餘的行一同放在建立這一行的塊中,這就要求這一行離開原來的塊。這會增加 i/o 訪問次數,增加快取的塊數,進而影響效能。

高水位線(high-water mark, hwm):如果把錶想像成乙個「平面」結構,或者想像成從左到右依次排開的一系列塊,高水們線就是包含了資料的最右邊的塊。

即使刪除了表中的一些(甚至全部)行,可能有許多塊不再包含資料,但它們仍在 hwm 之下(直到重建、截除或收縮這個物件),oracle 在掃瞄段時仍會掃瞄它們,這會影響掃瞄的效能。

Oracle 10g 讀書筆記之索引

oracle 中的索引型別有 1 b 樹索引 構造類似於二叉樹,能根據鍵提供一行或乙個行集的快速訪問。這是大多數資料庫中最常用的索引。b 代表平衡 balanced 不代表二叉 binary b 樹的特點之一是 所有葉子塊都應該在樹的同一層上。這一層也稱為索引的高度。也就是說索引是高度平衡的。大多數...

Oracle 10g 學習筆記

一 oracle 基礎 oracle的主要結構 一 物理結構 oracle的物理結構基本由一下幾種檔案組成 1.引數檔案 spfilesid.ora 2.控制檔案 v controlfile 3.資料檔案 v datafile 4.日誌檔案 v logfile 啟動過程 1.找到引數檔案 引數檔案中...

oracle10g 解除安裝

1 oracle 10g解除安裝軟體環境 1 windows xp oracle 10g2 oracle 安裝路徑為 d oracle 實現方法 1 開始 設定 控制面板 管理工具 服務停止所有 oracle 服務 2 開始 程式 oracle oradb 10g home1 oracle inst...