Oracle索引介紹

2021-10-02 04:17:14 字數 1760 閱讀 6180

缺省級別的索引就是–b-tree

查詢順序: 先查詢各個節點和索引的葉節點,然後再查詢表自身的行資料.

注意:1.這就是有時候oracle優化器會全表掃瞄,而不是查詢索引,因為全表掃瞄有時候更快.

2.如果所有是建立在多個列的時候,那麼第一列leading column非常重要

3.假設有乙個多列索引(級聯索引),索引的排列順序是c列到d列,那麼可以使用該索引對c列進行一次單獨查詢,但是不能使用該索引對d列也進行一次單獨查詢.

基於函式的索引: 該索引的關鍵字是表示式而不是列

使用函式索引的原因:在索引列使用常規函式,那麼就會把該函式作用在索引列的all值上,還不如進行全表掃瞄

什麼情況下使用函式索引:

1.能限制在該列上使用的函式嗎?如果能,能限制所有在這個列上執行的所有函式嗎?

2.能否有足夠應付額外索引的儲存空間?

3.在每列上增加的索參數量會對針對該錶執行的dml語句的效能帶來何種影響?

基於函式的索引非常有效,但在實現時必須小心,在表上建立的索引越多,insert,update,delete語句就會花費越多時間!

目的:雜湊索引,避免資料集中,在資料載入期間該部分索引和磁碟被頻繁使用.

例如: 把索引1234,1235,1236, 反轉成4321,5321,6321

注意: 不能對位圖索引和索引組織表進行反轉處理

使用方式: 當該列的值相異值很少的時候,例如:性別

使用注意:

1.只有對錶中相異值較少的多個不同列都使用位圖索引,這樣位圖索引才有效

2.不能用於事務型資料庫或更新頻繁的資料庫.因為位圖索引的表進行更新沒有效率

比位圖索引更好.把所有點陣圖化的列完全從資料庫中抽取出來,並將其儲存在索引中,假設條件是:這些列集合必須一起查詢.

作用:位圖連線索引是基於兩個表的連線的點陣圖索引,可以改進連線維度表和事實表的查詢效能.

建立位圖連線索引時,標準就是連線索引中常用的維度表和事實表.當使用者在一次查詢中結合查詢事實表和維度表,就不需要執行連線,因為位圖連線索引中已有該連線

優化: 可以壓縮位圖連線索引的rowid,減少io

壓縮索引是標準b-tree索引的乙個選項

優點:壓縮索引 的葉節點更少,總io數量和需要快取更少

缺點:解壓縮耗費cpu資源,另外閱讀優化器如何使用壓縮索引比較晦澀難懂

這是基於函式索引的一種特殊型別

優點:可以優化order by x,y,z desc子句查詢

型別:1.全域性分割槽索引global

2.本地分割槽索引local

只有分割槽表才能享受

起始於oracle 9i 版本

oracle將級聯索引及其擴充套件型別的索引用於表中所有的列,

當所有資料都載入到索引結構後,表就成了多餘得了,此時盡可以將表本身刪除

簇索引就是將多個表的相同列放在一起,而對該列使用同乙個索引

缺點:使用較少,效能問題未解決

要為使用者自定義資料型別建立使用者自定義索引型別時,就要使用域索引

oracle 11g版本新特性

建立過程和標準索引一樣,但建立後對基於代價的優化器(cbo)不可見

可以應用於效能進行大型測試查詢,而不會影響現有的

正在執行的應用程式

為測試和開發準備的工具

虛擬索引不分配段空間,可以在不需要實際建立索引的情況下,測試新索引及其對查詢計畫的影響

對於gb級別的資料來說耗費資源而且占用大量時間

例如:用於字元型的大型二進位制物件(clob)或其他大型文字資料構建索引的oracle text , oracle spatial …

ORACLE索引介紹

什麼是索引 索引是建立在表的一列或多個列上的輔助物件,目的是加快訪問表中的資料 oracle儲存索引的資料結構是b 樹,位圖索引也是如此,只不過是葉子節點不同b 數索引 索引由根節點 分支節點和葉子節點組成,上級索引塊包含下級索引塊的索引資料,葉節點包含索引資料和確定行實際位置的rowid。使用索引...

Oracle 索引介紹

oracle 建立索引要做到三個適當 即 b 在適當的表上 b b 適當的列上 b 建立 b 適當數量 b 的索引。具體的來說,要做到這個三個適當有如下幾個要求。一 根據表的大小來建立索引 雖然給表建立索引,可以提高查詢的效率。但是資料庫管理員需要注意的是,索引也需要一定的開銷的。為此並不是說給所有...

Oracle索引概括介紹

索引類似與書的目錄結構,可以根據目錄中的頁碼快速找到需要的內容。索引是乙個單獨的 物理的資料庫結構,它是某個表中一列或者幾列值的集合和相應的指向表中物理標識這些值的資料頁的邏輯指標清單。使用索引可以快速訪問資料庫表中的特定資訊。oracle 自動維護索引,插入 刪除 更新表中資料時,自動更新索引。當...