索引存儲 (Key, ROWID) 鍵值對,查詢時先定位 Key 再通过 ROWID 直接讀取數據塊,大幅減少 I/O。示例:scott.student 以 STUDENT_ID 建立索引後的邏輯視圖:
ROWID STUDENT_ID ------------------ ---------- AAAH2oAAIAAAABSAAA 20020101 AAAH2oAAIAAAABSAAJ 20020102 ...
驗證 SQL:SELECT ROWID, student_id,... FROM scott.student; 截圖見圖。

| 類型 | 關鍵字 | 特點 |
|---|---|---|
| Non-Unique | 默認 | 允許重複鍵值 |
| Unique | CREATE UNIQUE INDEX | 鍵值唯一,主鍵/唯一約束自動創建 |
| Reverse Key | REVERSE | 鍵值字節反轉存儲,緩解右側熱塊爭用 |
| Function-Based | 表達式 | 索引函數結果,如 UPPER(name),加速特定查詢 |
分類示意圖:

適用於低基數列 (如性別、專業),每個唯一值對應一個位圖,位為 1 表示行包含該值。示例:professional 列位圖結構:
記錄號 professional 位圖索引值 1 軟件工程 1 2 計算機安全 2 3 圖形圖像 3 7 Web安全 2
EM 編輯索引「一般信息」頁籤可見系統自動生成的主鍵索引名 (如 SYS_C001234) 及唯一屬性。截圖:

姓名字段索引、表 SCOTT.STUDENT、列 NAME、表空間 INDXCREATE INDEX "SCOTT"."姓名字段索引"
ON "SCOTT"."STUDENT"("NAME")
TABLESPACE "INDX";
腳本 createindex.sql,界面截圖:

右鍵索引 → 「刪除」確認,生成 DROP INDEX "SCOTT"."姓名字段索引";。截圖:

ANALYZE INDEX ... VALIDATE STRUCTURE 檢查高度/葉塊利用率。ALTER INDEX ... REBUILD [ONLINE] 消除碎片,ONLINE 避免鎖表。V$OBJECT_USAGE 識別未用索引並刪除,減少 DML 開銷。