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...