看到 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資料結構演算法,...