oracle索引的使用 整理

2021-08-11 18:32:07 字數 1417 閱讀 1292



oracle的索引分為5種:唯一索引,組合索引,反向鍵索引,位圖索引,基於函式的索引

建立索引的標準語法:

create index 索引名 on 表名 (列名)  tablespace 表空間名;

建立唯一索引:

create unique index 索引名 on 表名 (列名)  tablespace 表空間名;

建立組合索引:

create index 索引名 on 表名 (列名1,列名2) tablespace 表空間名;

建立反向鍵索引:

create index 索引名 on 表名 (列名) reverse tablespace 表空間名;

建立基於函式的索引:

基於函式的索引就是儲存預先計算好的函式或表示式值的索引。這些表示式可以是算術運算表示式、sql或pl/sql函式、c呼叫等

create index idx on emp ( upper(ename)) tablespace 表空間名;

什麼時候重建呢?

察看 dba_indexes 中的 blevel 。這列是說明索引從根塊到葉快的級別,或是深度。如果級別大於等於4。則需要重建,

如下 :select index_name,blevel from dba_indexes where blevel>=4.

另乙個從重建中受益的指標顯然是當該索引中的被刪除項佔總的項數的百分比。如果在20%以上時,也應當重建,如下

sql>analyze index index_name validate structure

sql>select (del_lf_rows_len/lf_rows_len)*100 from index_stats where name=' index_name '

重建索引的方法

1、刪除並從頭開始建索引:方法是最慢的,最耗時的。一般不建議。

2、使用 alter index index_name rebuild 命令重建索引。使用現有索引項來重建新索引

3、使用 alter index index_name rebuild online; 帶online引數來最大限度的減少索引重建時將會出現的任何加鎖問題

4、使用 alter index index_name coalesce 命令重建索引。在重建索引時將處於同乙個索引分支內的葉塊拼合起來

5、使用 alter index index_name rebuild tablespace tablespace_name

加入表空間名,可指定的索引移動到指定的表空間當中,當索引建完後可把老索引刪除

oracle索引,索引的建立、修改、刪除

oracle資料庫中建立索引的基本方法講解

oracle索引重建

oracle表與索引的分析及索引重建

oracle函式索引小結

如何建立oracle函式索引

oracle 索引的分析和整理

索引碎片的分析和整理 索引碎片產生的原因 對索引字段頻繁地進行delete update操作,會對索引造成大量的碎片。影響 極大地影響了索引的使用效率,並造成索引i 0的增加。1 索引碎片分析 分析語句 sql analyze index validate structure online 分析表 ...

Oracle索引的使用

最近做資料整合,把其他伺服器上的資料抽取到統一資料庫中,為提高速度,考慮採用索引。1.索引分類 a 唯一索引,作用是資料約束,保證資料唯一,還有就是資料索引,提高查詢效率 b 一般索引,只有資料索引的作用,2.唯一索引的建立 create unique index 索引名 on 表名 欄位名 ok,...

oracle的索引使用

最近工作要處理一批統計sql,過程中遇到一些問題,在此分享一下 oracle中最常用的索引就兩種 b樹索引和點陣圖索引,這裡就來簡單說下這兩種索引的使用。b 樹索引在 oracle 中是乙個通用的索引,在建立索引時它就是預設的索引型別。最多可以包括 32列。位圖索引 oracle 為每個唯一鍵建立乙...