1. 程式人生 > >Oracle Table Type

Oracle Table Type

      如何設計高效的資料庫系統是一個綜合性的問題,本文從Oracle表型別的角度提供一些參考。oracle提供各種型別的表,合理的使用這些表的特性可以在很大程度上提高我們資料庫設計的高效性。

      一.表型別概述

         1.堆組織表(heap-organized table)這是標準的資料庫表。資料以類似與堆的方式管理,增加資料時,將使用段中首先找到的適合於資料的可用空間。從表中刪除資料時,使空間可供後繼插入和更新操作使用。這就是名稱中堆的來源。堆是一連串的空間,這些空間以某種隨機的方式使用。

         2.B*樹索引叢集表(B* tree index clustered table)

利用這種型別的表可以完成兩件事情。首先,許多表可以物理的連線在一起儲存。通常,來自同一個表的資料可以期望在一個數據庫塊中找到。利用叢集表,來自許多表的資料可以一起儲存在相同的塊中。其次,包含相同群鍵值的所有資料將物理的儲存在一起。這些資料圍繞群鍵值叢集。群鍵利用B*樹索引構造。

         3.雜湊叢集表(hash-clustered table)這種型別的表類似於叢集表,但不使用B*樹索引來按群鍵定位資料。雜湊群把鍵雜湊到群以確定在其上儲存資料的資料庫塊。在一個雜湊群中,資料就是索引(比喻性的這樣說)。這適合於經常通過鍵的相等比較讀取的資料。有兩種型別的雜湊叢集表,分別是:單表和多表雜湊群。

         4.索引組織表(index-organized table(IOT))其中一個表儲存在一個索引結構中。他利用行自身的物理順序。與堆不一樣,堆中資料放在任何適合他的地方,而在IOT中,資料以根據之間來排序的次序存放。

         5.外部表(external table)外部表提供了將資料儲存在Oracle資料庫外部扁平檔案中的能力,不能修改這些表型別中的資料,只能查詢他們,而且,不能象通常那樣索引他們。