Oracle之索引(Index)实例讲解 - 基础
索引(Index)是关系数据库中用于存放表中每一条记录位置的一种对象,主要目的是加快数据的读取速度和数据的完整性检查。索引的建立是一项技术性要求非常高的工作。
一般在数据库设计阶段就要考虑到如何设计和创建索引。
创建索引的语法:
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);
索引的修改主要由数据库管理员完成,修改索引主要涉及到修改索引的存储参数、重建索引、对无用的索引空间进行合并等。
修改索引的语法:
ALTER [UNIQUE] INDEX [user.] index INITRANS n MAXTRANS n REBUILD [STORAGE <storage>]说明:
示例:
使用ALTER INDEX语句修改索引参数:
ALTER INDEX product_id_u1 REBUILD STORAGE ( INITIAL 1M NEXT 512K );
ALTER INDEX product_id_u1 REBUILD REVERSE;
ALTER INDEX product_id_u1 COALESCE;
可以使用DROP语句删除索引。
DROP INDEX schema.index;
注:如果表结构被删除,则与该表相关联的索引也同时被删除。
如果您们在尝试的过程中遇到什么问题或者我的代码有错误的地方,请给予指正,非常感谢!
联系方式:david.louis.tian@outlook.com
版权@:转载请标明出处, 否则追究法律责任!
原文地址:http://blog.csdn.net/jssg_tzw/article/details/41016947