程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 淺析Oracle數據庫索引分類匯總

淺析Oracle數據庫索引分類匯總

編輯:Oracle數據庫基礎

在向大家詳細介紹Oracle建表之前,首先讓大家了解下Oracle索引,因為好的索引能幫助Oracle數據庫更好的檢索我們想要的信息。

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

Oracle索引物理上:
Partitioned 分區索引
NonPartitioned 非分區索引
B-tree:
Normal 正常型B樹
Rever Key 反轉型B樹
Bitmap 位圖索引

Oracle索引結構:
B-tree:
適合與大量的增、刪、改(OLTP);
不能用包含OR操作符的查詢;
適合高基數的列(唯一值多)
典型的樹狀結構;
每個結點都是數據塊;
大多都是物理上一層、兩層或三層不定,邏輯上三層;
葉子塊數據是排序的,從左向右遞增;
在分支塊和根塊中放的是索引的范圍;
Bitmap:
適合與決策支持系統;
做UPDATE代價非常高;
非常適合OR操作符的查詢;
基數比較少的時候才能建位圖索引;
樹型結構:
索引頭
開始ROWID,結束ROWID(先列出索引的最大范圍)
BITMAP
每一個BIT對應著一個ROWID,它的值是1還是0,如果是1,表示著BIT對應的ROWID有值;

B*tree索引的話通常在訪問小數據量的情況下比較適用,比如你訪問不超過表中數據的5%,當然這只是個相對的比率,適用於一般的情況。bitmap的話在數據倉庫中使用較多,用於低基數列,比如性別之類重復值很多的字段,基數越小越好。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved