索引(学习笔记)

索引(学习笔记)_第1张图片

索引(学习笔记)_第2张图片

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;

索引(学习笔记)_第3张图片

消耗系统资源273

identify列增加索引

 

CREATE INDEX deptor_index ON depositor(identify) TABLESPACE tbs_test;

 

再次在解释计划窗口执行查询

索引(学习笔记)_第4张图片

消耗有明显下降

索引(学习笔记)_第5张图片

索引(学习笔记)_第6张图片

示例二、创建复合索引

--没有复合索引查询
SELECT d.identify FROM depositor d WHERE d.identify>5000 AND d.actid>100500;

索引(学习笔记)_第7张图片

--创建复合索引
CREATE  INDEX dp_complex_index ON depositor(identify,actid) TABLESPACE tbs_test;

索引(学习笔记)_第8张图片

 返回

 反向键索引

索引(学习笔记)_第9张图片

反向键索引、

反向键索引主要用于大型集群系统,多用户同时更新操作

反向键索引语法

索引(学习笔记)_第10张图片

 

没有索引时查询

索引(学习笔记)_第11张图片

创建反向键索引

--创建反向键索引
CREATE INDEX dpt_reverse_index ON depositor(identify) REVERSE TABLESPACE tbs_test;

索引(学习笔记)_第12张图片

  返回

函数索引、

索引(学习笔记)_第13张图片

 

执行以下查询 

--查询所有的firsetname并转换为全部小写
SELECT LOWER(d.firstname) FROM depositor d;

索引(学习笔记)_第14张图片

创建lower的函数索引

--创建lower的函数索引
CREATE INDEX dpt_lowerfirstname_index ON depositor(LOWER(firstname)) TABLESPACE tbs_test;

再次执行以上查询

索引(学习笔记)_第15张图片

 返回

 位图索引:

 

执行统计查询

--进行统计查询
SELECT COUNT(*) FROM depositor d WHERE d.firstname='Luke';

索引(学习笔记)_第16张图片

创建位图索引

--创建位图索引
CREATE BITMAP INDEX dpt_bitmap_index ON depositor(firstname)  TABLESPACE tbs_test;

索引(学习笔记)_第17张图片

 

 返回

删除索引
DROP INDEX 索引名

删除之前的索引

--删除索引
DROP INDEX deptor_index;
DROP INDEX dp_complex_index;

 

 

 

 

 

你可能感兴趣的:(学习笔记)