Oracle 10g 讀書筆記之索引

2021-08-31 19:36:09 字數 1160 閱讀 4013

oracle 中的索引型別有:

1、b* 樹索引:構造類似於二叉樹,能根據鍵提供一行或乙個行集的快速訪問。這是大多數資料庫中最常用的索引。b 代表平衡(balanced),不代表二叉(binary)。

b* 樹的特點之一是:所有葉子塊都應該在樹的同一層上。這一層也稱為索引的高度。也就是說索引是高度平衡的。大多數索引的高度都是 2 或者 3,即使索引中有數百萬行記錄也是如此。

檢視索引高度:select index_name, blevel, num_rows from user_indexes where table_name='table_name';

其子類有:

a、索引組織表:索引組織表以 b* 樹結構儲存。堆表的資料行是以一種無組織的方式儲存(只要有可用的空間,就可存放資料)。

c、降序索引:降序索引允許資料在索引結構中「從大到小」的順序,而不是按「從小到大」的順序。

d、反向鍵索引:這也是 b* 樹索引,只不過鍵中的位元組會「反轉」。將資料放在索引中之前,將先把所儲存資料的位元組反轉,這樣對索引的插入就會分布到多個塊上,減少對這一塊的競爭。

2、位圖索引:乙個索引條目使用乙個位圖同時指向多行。它適合於高度重複而且通常唯讀的資料。

建立語句:create bitmap index index_name on table_name(col_name)

3、位圖聯結索引:這為索引結構中的資料提供了一種逆規範化的方法。例如 emp 和 dept 表,可能會統計有多少在某一部門工作,通過使用位圖聯結索引,則可以在 emp 表建立聯結索引。

建立語句:create bitmap index emp_bm_idx on emp(d.dname) from emp e, dept d where e.deptno=d.deptno

再執行查詢 select count(*) from emp, dept where emp.deptno=dept.deptno and dept.dname='sales' 時則直接訪問索引,而不必去訪問實際的資料表。

索引的乙個先決條件是必須聯結到另乙個表中的主鍵或唯一鍵。

4、基於函式的索引:這些就是 b* 樹索引或位圖索引,它將乙個函式計算得到的結果儲存在行的列中,而不儲存列資料本身。

5、應用域索引:應用域索引是你自己構建和儲存的索引,可能儲存在 oracle 中,也可能在 oracle 之外。oracle 文字索引就是乙個例子。

Oracle 10g 讀書筆記之資料庫表

oracle 中主要有 9 種表型別 1 堆組織表 這些就是 普通 的標準資料庫表。資料會放在最合適的地方,而不是以某種特定順序來放置。2 索引組織表 這些表按索引結構儲存。在堆中,只要放得下,資料可以放在任何位置 而索引組織表的資料要根據主鍵有序地儲存。create table name orga...

Oracle 10g 學習筆記

一 oracle 基礎 oracle的主要結構 一 物理結構 oracle的物理結構基本由一下幾種檔案組成 1.引數檔案 spfilesid.ora 2.控制檔案 v controlfile 3.資料檔案 v datafile 4.日誌檔案 v logfile 啟動過程 1.找到引數檔案 引數檔案中...

oracle10g 解除安裝

1 oracle 10g解除安裝軟體環境 1 windows xp oracle 10g2 oracle 安裝路徑為 d oracle 實現方法 1 開始 設定 控制面板 管理工具 服務停止所有 oracle 服務 2 開始 程式 oracle oradb 10g home1 oracle inst...