索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和完整性检查。建立索引是一项技术性要求高的工作。一般在数据库设计阶段的与数据库结构一道考虑。应用系统的性能直接与索引的合理直接有关。下面给出建立索引的方法和要点。 §3.5.1 建立索引 1. CREATE INDEX命令语法: CREATE INDEX CREATE [unique] INDEX [user.]index ON [user.]table (column [ASC | DESC] [,column [ASC | DESC] ] ... ) [CLUSTER [scheam.]cluster] [INITRANS n] [MAXTRANS n] [PCTFREE n] [STORAGE storage] [TABLESPACE tablespace] [NO SORT] Advanced 其中: schema ORACLE模式,缺省即为当前帐户 index 索引名 table 创建索引的基表名 column 基表中的列名,一个索引最多有16列,long列、long raw 列不能建索引列 DESC、ASC 缺省为ASC即升序排序 CLUSTER 指定一个聚簇(Hash cluster不能建索引) INITRANS、MAXTRANS 指定初始和最大事务入口数 Tablespace 表空间名 STORAGE 存储参数,同create table 中的storage. PCTFREE 索引数据块空闲空间的百分比(不能指定pctused) NOSORT 不(能)排序(存储时就已按升序,所以指出不再排序) 2.建立索引的目的: 建立索引的目的是: l 提高对表的查询速度; l 对表有关列的取值进行检查。 但是,对表进行insert,update,delete处理时,由于要表的存放位置记录到索引项中而会降低一些速度。 注意:一个基表不能建太多的索引; 空值不能被索引 只有唯一索引才真正提高速度,一般的索引只能提高30%左右。 Create index ename_in on emp (ename,sal);