程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 索引(學習筆記),索引學習筆記

索引(學習筆記),索引學習筆記

編輯:Oracle教程

索引(學習筆記),索引學習筆記


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;

 

 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved