索引組織表IOT

2022-02-17 15:30:09 字數 813 閱讀 1139

索引組織表iot(第十章 資料庫表)

索引組織表(index organized table, iot)就是儲存在乙個索引結構中的表。儲存在堆中的表是無組織的(也就是說,只要有可用的空間,資料可以放在任何地方),iot中的資料則按主鍵儲存和排序。對你的應用來說,iot表和乙個「常規」表並無二致。

iot有什麼意義呢?使用堆組織表時,我們必須為表和表主鍵上的索引分別留出空間。而iot不存在主鍵的空間開銷,因為索引就是資料,資料就是索引,二者已經合二為一。

但是,iot帶來的好處並不止於節約了磁碟空間的占用,更重要的是大幅度降低了i/o,減少了訪問緩衝區快取(儘管從緩衝區快取獲取資料比從硬碟讀要快得多,但緩衝區快取並不免費,而且也絕對不是廉價的。每個緩衝區快取獲取都需要緩衝區快取的多個閂,而閂是序列化裝置,會限制應用的擴充套件能力)

iot適用的場合有:

1、完全由主鍵組成的表。這樣的表如果採用堆組織表,則表本身完全是多餘的開銷,因為所有的資料全部同樣也儲存在索引裡,此時,堆表是沒用的。

2、**查詢表。如果你只會通過乙個主鍵來訪問乙個表,這個表就非常適合實現為iot.

3、如果你想保證資料儲存在某個位置上,或者希望資料以某種特定的順序物理儲存,iot就是一種合適的結構。

iot提供如下的好處:

·提高緩衝區快取效率,因為給定查詢在快取中需要的塊更少。

·減少緩衝區快取訪問,這會改善可擴縮性。

·獲取資料的工作總量更少,因為獲取資料更快。

·每個查詢完成的物理i/o更少。

如果經常在乙個主鍵或唯一鍵上使用between查詢,也是如此。如果資料有序地物理儲存,就能提公升這些查詢的效能。

Oracle 索引組織表(IOT)

索引組織表 iot 有一種類b樹的儲存組織方法。普通的堆組織表是以一種無序的集合儲存。而iot中的資料是按主鍵有序的儲存在b樹索引結構中。與一般b樹索引不同的的是,在iot中每個葉結點即有每行的主鍵列值,又有那些非主鍵列值。在iot所對應的b樹結構中,每個索引項包括 主鍵列值,非主鍵列值 而不是ro...

Oracle 索引組織表(IOT)

索引組織表 iot 有一種類b樹的儲存組織方法。普通的堆組織表是以一種無序的集合儲存。而iot中的資料是按主鍵有序的儲存在b樹索引結構中。與一般b樹索引不同的的是,在iot中每個葉結點即有每行的主鍵列值,又有那些非主鍵列值。在iot所對應的b樹結構中,每個索引項包括 主鍵列值,非主鍵列值 而不是ro...

Oracle 索引組織表(IOT)

索引組織表 iot 有一種類b樹的儲存組織方法。普通的堆組織表是以一種無序的集合儲存。而iot中的資料是按主鍵有序的儲存在b樹索引結構中。與一般b樹索引不同的的是,在iot中每個葉結點即有每行的主鍵列值,又有那些非主鍵列值。在iot所對應的b樹結構中,每個索引項包括 主鍵列值,非主鍵列值 而不是ro...