各种oracle索引类型介绍,各种Oracle索引类型介绍
邏輯上:
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有值
1. b-tree索引
Oracle數據庫中最常見的索引類型是b-tree索引,也就是B-樹索引,以其同名的計算科學結構命名。CREATE
INDEX語句時,默認就是在創建b-tree索引。沒有特別規定可用于任何情況。
2. 位圖索引(bitmap index)
位圖索引特定于該列只有幾個枚舉值的情況,比如性別字段,標示字段比如只有0和1的情況。
3. 基于函數的索引
比如經常對某個字段做查詢的時候是帶函數操作的,那么此時建一個函數索引就有價值了。
4. 分區索引和全局索引
這2個是用于分區表的時候。前者是分區內索引,后者是全表索引
5. 反向索引(REVERSE)
這個索引不常見,但是特定情況特別有效,比如一個varchar(5)位字段(員工編號)含值
(10001,10002,10033,10005,10016..)
這種情況默認索引分布過于密集,不能利用好服務器的并行
但是反向之后10001,20001,33001,50001,61001就有了一個很好的分布,能高效的利用好并行運算。
6.HASH索引
HASH索引可能是訪問數據庫中數據的最快方法,但它也有自身的缺點。集群鍵上不同值的數目必須在創建HASH集群之前就要知道。需要在創建HASH集群的時候指定這個值。使用HASH索引必須要使用HASH集群。
1.邏輯結構:
所謂邏輯結構就是數據與數據之間的關聯關系,準確的說是數據元素之間的關聯關系。
注:所有的數據都是由數據元素構成,數據元素是數據的基本構成單位。而數據元素由多個數據項構成。
邏輯結構有四種基本類型:集合結構、線性結構、樹狀結構和網絡結構。也可以統一的分為線性結構和非線性結構。
2.物理結構:
數據的物理結構就是數據存儲在磁盤中的方式。官方語言為:數據結構在計算機中的表示(又稱映像)稱為數據的物理結構,或稱存儲結構。它所研究的是數據結構在計算機中的實現方法,包括數據結構中元素的表示及元素間關系的表示。
而物理結構一般有四種:順序存儲,鏈式存儲,散列,索引
3.邏輯結構的物理表示:
線性表的順序存儲則可以分為靜態和非靜態:靜態存儲空間不可擴展,初始時就定義了存儲空間的大小,故而容易造成內存問題。
線性表的鏈式存儲:通過傳遞地址的方式存儲數據。
單鏈表:節點存儲下一個節點的地址-------------->單循環鏈表:尾節點存儲頭結點的地址
雙鏈表:節點存儲前一個和后一個節點的地址,存儲兩個地址。---------------->雙循環鏈表:尾節點存儲頭結點的地址。
4.高級語言應用:
數組是順序存儲
指針則是鏈式存儲
原文:https://www.cnblogs.com/zszitman/p/9841105.html
總結
以上是生活随笔為你收集整理的各种oracle索引类型介绍,各种Oracle索引类型介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 11.2.0.5下载,or
- 下一篇: linux haproxy 脚本,hap