小議Oracle索引的使用

2021-04-14 08:38:18 字數 1416 閱讀 4520

索引是由oracle維護的可選結構,為資料提供快速的訪問。

準確地判斷在什麼地方需要使用索引是困難的,使用索引有利於調節檢索速度。

當建立乙個索引時,必須指定用於跟蹤的表名以及乙個或多個表列。一旦建立了索引,在使用者表中建立、更改和刪除數

據庫時, oracle就自動地維護索引。建立索引時,下列準則將幫助使用者做出決定:

陸陽

索引是由oracle維護的可選結構,為資料提供快速的訪問。

準確地判斷在什麼地方需要使用索引是困難的,使用索引有利於調節檢索速度。

當建立乙個索引時,必須指定用於跟蹤的表名以及乙個或多個表列。一旦建立了索引,在使用者表中建立、更改和刪除數

據庫時, oracle就自動地維護索引。建立索引時,下列準則將幫助使用者做出決定:

1) 索引應該在sql語句的"where"或"and"部分涉及的表列(也稱謂詞)被建立。假如

personnel表的"firstname"表列作為查詢結果顯示,而不是作為謂詞部分,則不論其值是什麼,該表列不會被索引。

2)使用者應該索引具有一定範圍的表列,索引時有乙個大致的原則:如果表中列的值佔該錶

中行的2 0 %以內,這個表列就可以作為候選索引表列。假設乙個表有36 000行且表中乙個表列的值平均分布(大約每12

000行),那麼該表列不適合於乙個索引。然而,如果同乙個表中的其他表列中列值的行在1 0 0 0~1 5 0 0之間(佔3 %

~4 % ),則該表列可用作索引。

3)如果在s q l語句謂詞中多個表列被一起連續引用,則應該考慮將這些表列一起放在乙個索引內, o r a c l e將維

護單個表列的索引(建立在單一表列上)或復合索引(建立在多個表列上)。復合索引稱並置索引。

1主關鍵字的約束

關聯式資料庫理論指出,在表中能唯一標識表的每個資料行的乙個或多個表列是物件的主關鍵字。由於資料字典中定義的

主關鍵字能確保表中資料行之間的唯一性,因此,在o r a c l e 8 i資料庫中建立表索引關鍵字有助於應用調節。另

外,這也減輕了開發者為了實現唯一性檢查,而需要各自程式設計的要求。

提示使用主關鍵字索引條目比不使用主關鍵字索引檢索得快。

假設表p e r s o n把它的i d表列作為主關鍵字,用下列**設定約束:

alter table person add constraint person_pk primary key (id) using index storage (initial

1m next

1m pctincrease 0) tablespace prd_indexes ;

處理下列s q l語句時:

select last_name ,first_name ,salary from person where id = 289 ;

Oracle索引的使用

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

oracle的索引使用

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

oracle 索引使用

管理索引 單例索引 單例索引是基於單個列所建立的索引。create index 索引名 on 表名 列名 復合索引 復合索引是基於兩列或是多列建立的索引。create index emp idx1 on emp ename,job creat index emp idx1 on emp job,en...