oracle索引技術——天天筆記(1)

來源:互聯網
上載者:User
資料庫的索引把使用者感興趣的列值連同其行標識符(ROWID)儲存在一起

ROWID包含了儲存列值的表行在磁碟上的物理位置

索引雖然能提高查詢的效能,但是也不能一度的建立索引,因為索引是有代價的

消耗磁碟空間,系統資源,在列值被修改的同時也必須修改相應的索引

 

Oracle預設的索引類型是B樹索引,適用於高基數列,也就是列值種類多。

SELECT DBMS_ROWID.ROWID_RELATIVE_FNO (ROWID), F4

  FROM DEMOT

 WHERE F1 = 5;

上面的PACKAGE中的方法是將ROWID轉換成有意義的資訊

通過rowid_info可以解析ROWID內容

Object# is :128262
Relative_fno is :7
Block number is :3644
Row number is :0

 

位元影像索引,適用於低基數列,列值種類少

主要用於資料倉儲

建立速度非常快,佔用空間非常小

/* Formatted on 5/6/2013 14:55:23 (QP5 v5.240.12305.39446) */

SELECT SEGMENT_NAME, BYTES, EXTENTS

  FROM DBA_SEGMENTS

 WHERE     SEGMENT_TYPE = 'INDEX'

       AND OWNER = 'XXRPTH'

       AND SEGMENT_NAME IN ('DEMOT_BITMAP', 'SYS_C0032427');

判斷是否適合建立位元影像索引,該列的有效值數目不足表中行數的1%,就適合

CREATE BITMAP INDEX DEMOT_BITMAP

   ON DEMOT (F7)

   NOLOGGING;

位元影像索引的DML操作效能很差,所以最好是刪除並重建它們,而不是維護,所以不需要日誌記錄

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.