索引的分類
1二叉樹索引或者叫b數索引(b-tree indexes),b樹索引是使用最多的一種索引.在預設情況下,我們建立的索引都是b樹索引.b樹索引基於二叉樹原理
2.二叉樹聚簇索引(b-tree cluster indexes) 主要用於聚簇
3.雜湊聚簇索引(hash cluster indexes) 主要用於雜湊(hash)聚簇
4.反向索引(reverse key indexes) 反向索引也屬於b樹索引,它把索引值按位元組反轉過來.
5.點陣圖索引(bitmap indexes) 指通過點陣圖對索引進行管理,位圖索引適合唯一值很少的列,也就是重複值很多的列位圖連線索引(bitmap join indexes) 用於兩個表的連線
6.基於函式的索引(function-based indexes)如果在sql語句的where字句中經常用到函式或者表示式,則可以建立基於函式的索引.
建立索引
create index idx_emp1_ename on emp1(ename);
建立唯一索引
create unique index idx_uq_emp1_empno on emp1(empno) tablespace mypl;
建立位圖索引
create bitmap index idx_bm_emp1_deptno on emp1(deptno);
建立反向索引
create index idx_reverse_emp1_ename on emp1(empno);
建立函式索引
create index idx_funs_emp1_ename on emp1 (upper(ename));
重建索引更換索引所在表空間
alter index idx_reverse_emp1_ename rebuild;
alter index idx_reverse_emp1_ename rebuild tablespace mypl;
刪除索引
drop index idx_reverse_emp1_ename;
檢視使用者有哪些索引
select index_name,index_type,table_owner,table_name,table_type from user_indexes;
檢視索引所在表空間
select index_name,tablespace_name from dba_indexes;
分析索引後檢視索引統計資訊
analyze index idx_funs_emp1_ename validate structure;
select height,(del_lf_rows_len/ lf_rows_len)*100,blocks,btree_space,used_space from index_stats;
如果(del_lf_rows_len/ lf_rows_len)*100的值大於20 或 heighr 大於4 需要考慮重建索引
(index_stats存放索引的統計資訊; del_lf_rows表示刪除行數 lf_rows表示總行數,height 表示二叉樹從根到葉塊的層次)
Oracle索引 索引型別
oracle 提供了多種不同型別的索引以供使用。簡單地說,oracle 中包括如下索引 b 樹索引 這些是我所說的 傳統 索引。到目前為止,這是 oracle 和大多數其他資料庫中最常用的索引。b 樹的構造類似於二叉樹,能根據鍵提供一行或乙個行集的快速訪問,通常只需很少的讀操作就能找到正確的行。不過...
Oracle的索引型別總結
1 b tree索引 oracle資料庫中最常見的索引型別是b tree索引,也就是b 樹索引,以其同名的計算科學結構命名。每當你發布基本的沒有經過進 一步修改的create index語句時,就是在建立b tree索引。這裡不打算對b tree索引進行更多深入的 這些使用者都可以自己了解。基本上這...
各種Oracle索引型別介紹
邏輯上 single column 單行索引 concatenated 多行索引 unique 唯一索引 nonunique 非唯一索引 function based函式索引 domain 域索引 物理上 partitioned 分割槽索引 nonpartitioned 非分割槽索引 b tree ...