Oracle 索引的分類

2021-05-01 01:56:33 字數 1121 閱讀 5333

看到 itpub 論壇上的乙個帖子,對 oracle 的索引分類總結得言簡意賅,於是收藏過來。又最近一直看rac,就補充了一點反向索引的東西。

邏輯上:

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 環境;

反轉了索引碼中每列的位元組,降低索引葉塊的爭用;

參考 http://www.stcore.com/oracle/2006-06-15/1150309026d27150.html

oracle索引分類

邏輯上 single column 單列索引 concatenated 多列索引 unique 唯一索引 nonunique 非唯一索引 function based函式索引 domain 域索引 物理上 partitioned 分割槽索引 nonpartitioned 非分割槽索引 b tree ...

oracle索引分類

b tree index,b樹索引 在建立索引時他是預設的索引型別,b樹索引可以使單一列 簡單 的索引,也可以是多個列 組合 復合 的索引。最多可以包括32列。適合 1,訪問表中佔很小比例的行,這樣就可以使用索引快速定位。2,根本不訪問表,所需查詢的資料全部在索引中,比如查詢的列就是索引,這樣直接訪...

oracle索引分類

參考文件 oracle索引分為 b tree索引 b樹索引 bitmap索引 位圖索引 反向索引,降序索引,函式索引 b tree索引 b是指balance。幾乎所有的關係型資料庫 比如mysql informix 都有b tree索引,也就是 普通索引 普通索引的結構是b tree資料結構演算法,...