Oracle之索引(Index)实例讲解 - 基础

2014-11-24 17:10:52 · 作者: · 浏览: 0

一般在数据库设计阶段就要考虑到如何设计和创建索引。


1. 创建索引


创建索引的语法:


CREATE [UNIQUE] INDEX [schema.] index
ON [schema.] table (column [ASC | DESC], column [ASC | DESC]...)
[CLUSTER schema.cluster]
[INITRANS n]
[MAXTRANS n]
[PCTFREE n]
[STORAGE storage]
[TABLESPACE tablespace]
[NO SORT]


关键字说明:


示例:创建一张产品表(tb_product),为该表的product_id列创建索引,以便在使用到该列时提高查询效率。


create table tb_product
(
product_id number
, product_name varchar2(100)
, product_type varchar2(20)
, product_unit varchar2(50)
, product_unit_price number(10,4)
);


下面代码用来在product_id列上创建唯一索引:


create unique index product_id_u1 on tb_product(product_id);


2. 修改索引


索引的修改主要由数据库管理员完成,修改索引主要涉及到修改索引的存储参数、重建索引、对无用的索引空间进行合并等。


修改索引的语法:


ALTER [UNIQUE] INDEX [user.] index
INITRANS n
MAXTRANS n
REBUILD
[STORAGE ]


说明:


示例:


使用ALTER INDEX语句修改索引参数:


ALTER INDEX product_id_u1 REBUILD STORAGE ( INITIAL 1M NEXT 512K );


使用ALTER INDEX语句修改索引为逆向索引:


ALTER INDEX product_id_u1 REBUILD REVERSE;


使用ALTER INDEX语句合并索引空间:


ALTER INDEX product_id_u1 COALESCE;


3. 删除索引


可以使用DROP语句删除索引。


DROP INDEX schema.index;


作者: 戴维德 联系方式:david.louis.tian@outlook.com