Oracle 索引的分類

victorymoshui發表於2011-11-03

邏輯上:
Single column 單列索引
Concatenated 多列索引
Unique 唯一索引
NonUnique 非唯一索引
Function-based函式索引
Domain 域索引

物理上:
Partitioned 分割槽索引
NonPartitioned 非分割槽索引
B-tree:
Normal 正常型B樹
Rever Key 反轉型B樹
Bitmap 點陣圖索引

索引結構:

B-tree:
適合於大量的增、刪、改(OLTP);
不能用包含OR操作符的查詢;
適合高基數的列(唯一值多)
典型的樹狀結構;
每個結點都是資料塊;
大多都是物理上一層、兩層或三層不定,邏輯上三層;
葉子塊資料是排序的,從左向右遞增;
在分支塊和根塊中放的是索引的範圍;

Bitmap:
適合於決策支援系統;
做UPDATE代價非常高;
非常適合OR操作符的查詢;
基數比較少的時候才能建點陣圖索引;
樹型結構:
索引頭
開始ROWID,結束ROWID(先列出索引的最大範圍)
BITMAP 每一個BIT對應著一個ROWID,它的值是1還是0,如果是1,表示著BIT對應的ROWID有值;


反向 B-tree:
適用於 OPS 或 RAC 環境;
反轉了索引碼中每列的位元組,降低索引葉塊的爭用;

 

oracle中對all_indexes表中所有列的描述

http://download.oracle.com/docs/cd/E14072_01/server.112/e10820/statviews_1105.htm#i1578369

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9390331/viewspace-710163/,如需轉載,請註明出處,否則將追究法律責任。

相關文章