oracle之 反向鍵索引
反向鍵索引是一種B-tree索引,它在保持列順序的同時,物理地改變每個索引鍵的位元組(反向鍵索引除了ROWID和still之外,反轉每個索引列的位元組)。例如,如果索引鍵為20,如果在十六進位制中儲存為這個鍵的兩個位元組是C1,則是標準b樹索引中的15個位元組,那麼一個反向鍵索引將位元組儲存為15,C1。
優點:
反轉鍵解決了b樹索引右側葉塊爭用的問題。這個問題在Oracle Real Application cluster (Oracle RAC)資料庫中尤其突出,在這個資料庫中多個例項反覆修改同一個塊。例如,在orders表中,訂單的主鍵是順序的。叢集中的一個例項新增了order 20,而另一個例項新增了21,每個例項都將其關鍵字寫入索引右側的同一個葉塊。
在反向鍵索引中,位元組順序的反轉分佈在索引中的所有葉鍵上。例如,在標準鍵索引中相鄰的20和21這樣的鍵現在被分開儲存在不同的塊中(索引會在左邊,中間,右邊-到處都是)。所以爭論就這樣消失了。因此,順序鍵插入的I/O分佈更均勻。
缺點:
但是,必須指出的是:現在整個索引最好在緩衝區快取中,而在之前——只有熱的右側需要在快取中進行有效的插入。如果索引不能放入快取,我們很可能會將緩衝區繁忙的等待變成物理IO等待,這可能更糟(補救比症狀更糟糕)。
由於索引中的資料在儲存時沒有按列鍵排序,所以反向鍵安排在某些情況下消除了執行索引範圍掃描查詢的能力。例如,如果使用者對大於20的訂單ID發出查詢,那麼資料庫就不能從包含該ID的塊開始,然後水平地透過葉塊進行。
總結:
這些索引旨在消除插入應用程式上的索引熱點。這些索引對於插入效能非常好,但是它們是有限的,因為資料庫不能使用它們進行索引範圍掃描。
語法:
create index <INDEX_NAME> on <TABLE_NAME> (<COLUMN_NAME>, <COLUMN_NAME>)
REVERSE;
參考:What Are Reverse Key Indexes? (文件 ID 1070627.6)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2152153/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【索引】反向索引引起排序索引排序
- oracle全文索引之幾個關鍵表Oracle索引
- Oracle 反向索引 where index_column like '%xxx'Oracle索引Index
- 反向索引處理前%索引
- oracle的逆序鍵索引應用!Oracle索引
- 【索引】反向索引--條件 範圍查詢索引
- Oracle索引梳理系列(六)- Oracle索引種類之函式索引Oracle索引函式
- 反向索引與模糊查詢索引
- 【索引】反向索引--條件 範圍查詢(二)索引
- Oracle之不可見索引Oracle索引
- Oracle之函式索引Oracle函式索引
- Oracle之虛擬索引Oracle索引
- Oracle筆記 之 索引(index)Oracle筆記索引Index
- Oracle刪除主鍵保留索引的方法Oracle索引
- 【INDEX】Oracle中主鍵、唯一約束與唯一索引之區別IndexOracle索引
- Oracle主鍵、唯一鍵與唯一索引的區別Oracle索引
- 【索引】Oracle之不可見索引和虛擬索引的比對索引Oracle
- oracle全文索引之STOPLIST_ CTXCAT 索引_INDEX SETOracle索引Index
- Oracle 外來鍵索引影響阻塞問題Oracle索引
- Oracle全文檢索之Ctxcat 索引Oracle索引
- oracle全文索引之STORAGE PREFERENCEOracle索引
- oracle全文索引之WORDLIST PREFERENCEOracle索引
- InnoDB關鍵特性之自適應hash索引索引
- 表外來鍵未加索引之處理索引
- 【Oracle】-【move】【索引】無資料的主鍵索引VALID還是UNUSABLEOracle索引
- 反向Ajax之WebSocketWeb
- Oracle優化案例-分割槽索引之無字首索引(六)Oracle優化索引
- 【優化】使用反向索引(Reverse Key Indexes)減少索引熱點塊優化索引Index
- oracle查詢表資訊(索引,外來鍵,列等)Oracle索引
- Oracle效能優化之虛擬索引Oracle優化索引
- oracle全文索引之同步和優化索引做了什麼Oracle索引優化
- 索引反向使用案例,加index_desc hint索引Index
- Oracle之不可見索引(invisible indexes)Oracle索引Index
- Oracle效能最佳化之虛擬索引Oracle索引
- Oracle主鍵約束、唯一鍵約束、唯一索引的區別(轉)Oracle索引
- oracle spatial之基礎知識之四空間索引Oracle索引
- 主鍵索引 (聚集索引) 和普通索引 (輔助索引) 的區別索引
- 索引@oracle索引技術索引Oracle