tablespace 表空間可以省略
B樹索引
反向鍵索引
函數索引
位圖索引
刪除索引
B樹索引
示例一、創建一張表並使用PL/SQL的數據生成器導入10萬條記錄
--創建儲戶表 create table depositor ( actid INTEGER not null, identify INTEGER not null, lastname VARCHAR2(10) not null, firstname VARCHAR2(10) not null, address1 VARCHAR2(200) not null, address2 VARCHAR2(200), address3 VARCHAR2(200), account NUMBER(10,2) not null, constraint PK_DEPOSITOR primary key (actid) ); --查詢 SELECT * FROM depositor;
使用數據生成器導入10萬條記錄
用解釋計劃窗口執行查詢
select identify from depositor WHERE identify BETWEEN 10000 AND 30000;
消耗系統資源273
為identify列增加索引
CREATE INDEX deptor_index ON depositor(identify) TABLESPACE tbs_test;
再次在解釋計劃窗口執行查詢
消耗有明顯下降
示例二、創建復合索引
--沒有復合索引查詢 SELECT d.identify FROM depositor d WHERE d.identify>5000 AND d.actid>100500;
--創建復合索引 CREATE INDEX dp_complex_index ON depositor(identify,actid) TABLESPACE tbs_test;
返回
反向鍵索引
反向鍵索引、
反向鍵索引主要用於大型集群系統,多用戶同時更新操作
反向鍵索引語法
沒有索引時查詢
創建反向鍵索引
--創建反向鍵索引 CREATE INDEX dpt_reverse_index ON depositor(identify) REVERSE TABLESPACE tbs_test;
返回
函數索引、
執行以下查詢
--查詢所有的firsetname並轉換為全部小寫 SELECT LOWER(d.firstname) FROM depositor d;
創建lower的函數索引
--創建lower的函數索引 CREATE INDEX dpt_lowerfirstname_index ON depositor(LOWER(firstname)) TABLESPACE tbs_test;
再次執行以上查詢
返回
位圖索引:
執行統計查詢
--進行統計查詢 SELECT COUNT(*) FROM depositor d WHERE d.firstname='Luke';
創建位圖索引
--創建位圖索引 CREATE BITMAP INDEX dpt_bitmap_index ON depositor(firstname) TABLESPACE tbs_test;
返回
刪除索引
DROP INDEX 索引名
刪除之前的索引
--刪除索引 DROP INDEX deptor_index; DROP INDEX dp_complex_index;