Oracle索引(Index)是关系数据库中用于存放表中每一条记录位置的一种对象,主要目的是加快数据的读取速度和数据的完整性检查。索引的建立是一项技术性要求非常高的工作。
一般在数据库设计阶段就要考虑到如何设计和创建索引。
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]
关键字说明:
UNIQUE: 该参数用来指明所创建的索引为唯一索引。
CLUSTER: 该参数为可选参数,用来指定一个聚簇(Hash cluster 不能创建索引)。
INITRANS, MAXTRANS: 为可选参数,指定初始和最大的事务入口数。
TABLESPACE: 索引的存储表空间。
STORAGE: 存储参数。
PCTFREE: 索引数据块空闲的百分比。
NO SORT: 不排序(存储时就按照升序进行排序,所以这里指出不再排序)。
示例:创建一张产品表(tb_product),为该表的product_id列创建索引,以便在使用到该列时提高查询效率。
create table tb_product
(
product_id numbe