oracle 索引型別

2021-06-20 19:53:46 字數 1546 閱讀 1719

索引的分類

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 ...