基礎學習 表的分類及特點(二)

2021-05-22 07:09:06 字數 3259 閱讀 2430

author:skate

time:2010-04-19

表的分類及特點

我們大多系統只適用

oracle

的兩種資料結構:分別是堆表和

b*樹索引,如果系統沒有使用

iot或群,表示對資料優化訪問沒有進行充分的考慮。

1.堆組織表(

heap-organized table)

這是一種標準的資料庫表,這種表的管理方式類似堆的管理,在增加資料時,在使用段中找到適合資料的可用空間;在刪除資料時,在使空間可供後續更新和插入使用,堆是一連串的空間,這些空間以某種隨機的方式使用。

2.b*

樹索引集群表(

b* tree index clustered table)

這種型別的集群表的主要完成兩件事,一件是許多表可以物理的儲存在一起。一般來說,來自同乙個表的資料可以期望在乙個資料塊找到,利用集群表,可以讓來自不同的表裡資料一起儲存在相同的資料塊裡。第二件是包含相同群鍵值的所有資料將物理的儲存在一起,這些資料圍繞群鍵值集群。群鍵利用

b*樹索引構造

所有表共享乙個群鍵索引這一事實表示減少了索引的需要(雜湊群完全消除了對索引的需求,因為資料就是索引)。因為把資料儲存在一起和共享群鍵索引可以有效的減少物理io

,甚至減少邏輯

io從另乙個角度說,也提高所需塊的有效性(

eg:本來需要

10個塊的提供,現在只需要

2個塊提供),這樣也就自然提高了快取記憶體的效率,可以使快取記憶體快取更多有效的塊

群存在的連個基本限制: l

不能進行群的直接路徑裝載

l不能分割槽集群表

oracle

的資料庫字典表主要是以群存放的(

b*樹群)

3.雜湊集群表

(hash-clusterd table)

這種型別的表類似

b*樹索引集群表,但不使用

b*樹索引按群鍵定位資料,雜湊群是使用雜湊演算法把群鍵轉化為資料塊的位址,然後通過這個塊位址查詢資料,雜湊群跳過了除塊讀取外的所有

io,這裡的資料類似索引。雜湊表適合用在通過鍵的相等比較讀取資料的時候。有兩種型別的雜湊表,分別是單錶和多表的雜湊群

4.索引組織表

(index-organized table(iot))

這種表儲存在索引結構中,他利用行的自身物理順序。與堆不一樣,堆中的資料是放在任何適合它的地方,而在

iot中,資料以根據主鍵來排序的次序存放。所以會影響插入的速度

5.外部表

(external table)

這種型別的表是

oracle9i r1

的新型別,它提供了將資料儲存在

oracle

資料庫的外部,不能修改這錶的中資料,只能查詢表中的資料,而且還不能像通常那樣索引他們

集群表的共性是資料的集群儲存,提供了資料預鏈結的作用,減少物理

io的消耗。分為

b*樹索引集群表和雜湊集群表,這兩個表的不同點是: l

b*樹索引集群錶用傳統的

b*樹索引來儲存乙個鍵值和可找到資料的塊位址,它非常像表上的索引,通過群鍵索引查詢鍵值,找到資料所在的塊位址,然後在其上查詢資料。 l

雜湊表是用雜湊演算法將鍵值轉化為資料的塊位址,從避免額外的

io,直接讀取資料塊,資料自身就相當於索引。

集群表的優點:

l物理集中放置資料

l提高緩衝區快取記憶體效率

l加少物理

io,甚至減少邏輯io

l減少索引的需求,

b*樹索引集群表共享乙個群鍵索引,而雜湊集群表的資料將相當於索引

群的缺點:

l要仔細考慮設定合適的群尺寸,設定

size

值過大會浪費空間,設定過小不能體現群的主要好處(資料的集中儲存),如果要更改

size

不合理的群,需要重建群。

l必須控制和可控制對群的插入,否則會影響群的效果

l集群表的插入要比堆表慢,因為資料必須進入適當的位置,而堆表可以在任何可以放入資料的地方新增資料,不需要將資料努力的儲存在某個地方。這樣並不是說集群表就不適合讀寫程式

索引組織表(

iot)

iot用類似

b*樹的儲存方法,在

iot中資料是按主鍵有序的儲存在

b*樹索引結構中,而堆組織表是以一種無序的集合儲存。與

b*索引不同的是,在

iot的每個葉節點既有每行的主鍵值,又有那些非主鍵列值,即

iot是把資料和乙個主鍵值物理的儲存在一起。而普通表的索引只會對索引列索引,在索引結構中不包含非索引列的資訊。

iot與b*樹群有如下不同點:

l存在乙個資料結構,乙個索引結構。而

b*樹群有乙個索引和資料項

l儲存是主鍵排序儲存的,而

b*樹群是按鍵值儲存,但並不按鍵值排序l設定

iot的尺寸要比設定集群表容易,不用像其群表那樣估算鍵(

size

)的最大數目

liot

除了具有集群表所有的優點,他還有一些特有的優點。索引是相當複雜的結構,它具有到處移動行的能力(集群表不能),允許更好的將相關的資料集中在一起儲存。插入順序是群要考慮的主要因素,

iot不需要考慮。

liot

iot也存在一些缺點

與群表一樣,插入速度要比普通表慢,因為資料要裝入特定的位置;它比較適合行比較小的表,行大了容易溢位段

iot適用的環境:

1.表的全部列或大多數列為索引

2只會通過主鍵來訪問乙個表

3希望資料以特定的順序物理儲存

4希望某些資料物理地儲存在同一處

5 經常在乙個主鍵或唯一鍵上使用

between

查詢,用

iot比較提高效能

oracle

的外部表一般用於資料裝載和重灌,把它單拿出來,哪天具體的學習下。

----end---

手機網路的分類及特點

手機網路 從目前的市場情況來看可以分為 6種,他們分別是 gsm cdma cdma2000 wcdma td scdma 以及phs。其中gsm cdma 屬於第二代通訊網路,即現在我們在用的 2g網路。wcdma td scdma cdma2000 屬於第三代通訊網路,即俗稱的3g,3g網路可以...

常見鳥的種類及特點 鳥的分類

首先鳥可以先分為游禽和涉禽,這兩類又可以具體的分成很多種,鳥類是很豐富的,也是有很多的特點,種類繁多。游禽是對喜歡在水中取食和棲息的鳥類的總稱。游禽種類繁多,在有著廣泛的分布。包括雁鴨類 鷗類等.如天鵝 大雁 鴛鴦 鵜鶘 海鷗等。這些游禽的分布地域不同,不如北京地區最常見的游禽有 大天鵝 小天鵝 綠...

IP協議的定義 IP位址的分類及特點

ip協議的定義 ip位址的分類及特點 什麼是ip協議,ip位址如何表示,分為幾類,各有什麼特點?為了便於定址和層次化地構造網路,ip位址被分為a b c d e五類,商業應 用中只用到a b c三類。ip協議 internet protocol 又稱網際網路協議,是支援網間互連的資料報協議,它與tc...