CREATE [UNIQUE|BITMAP] INDEX[schema.] index_name ---UNIQUE:说明该索引是唯一索引 BITMAP:创建位图索引
ON [schema.] table_name
(column_name[DESC|ASC][, column_name[DESC|ASC]]...) ---DESC|ASC:说明创建的索引
为降序或者升序排列的
[REVERSE] --REVERSE:说明创建反向键索引
[TABLESPACE tablespace_name] ---- TABLESPACE:说明要创建
的索引所存储的表空间
[PCTFREE n] ----PCTFREE:索引块中预留的空间比例
[INITRANS n] ---INITRANS:每一个索引块中分配的事务数
[MAXTRANS n] ---MAXTRANS:每一个索引块中分配的最多事务数
[instorage state] --instorage state:说明索引中区段extent如何分配
[LOGGING|NOLOGGING] ----LOGGING|NOLOGGING:说明要记录(不记录)索引
相关的操作,并保存在联机重做日志中
[NOSORT] ---NOSORT:不需要在创建索引时按键值进行排序
测试中造数据的实例:
CREATE UNIQUE INDEX index1.index11 ON t10(name);
CREATE INDEX index1.index12 ON t11(age);
CREATE BITMAP INDEX index1.index13 ON t10(sex);
drop index index1.index13;
Alter index indexName rebuild;
索引表空间做迁移,使用如下语句:
例2:alter index index_name rebuild tablespace tbs_name;
为了显示索引的信息, Oracle 提供了一系列数据字典视图,使用户了解索引的各方面信息。
1) 显示表的所有索引:显示 emp 的所有索引
Select * from dba _ indexs where owner =’ EMP ’
2) 显示索引列:显示 index _ test 所使用的索引列:
Select * from user _ ind _ columns where index _ name =’ INDEX _ TEST ’
3) 显示索引位置及大小
Select * from user _ segments where segment _ name =’ INDEX _ TEST ’
4) 显示函数索引
Select * from user _ ind _ expressions where index _ name =’ INDEX _ TEST ’