天天看点

索引

数据库中索引(Index)的概念与目录的概念非常类似。如果某列出现在查询的条件中,而该列的数据是无序的,查询时只能从第一行开始一行一行的匹配。创建索引就是对某些特定列中的数据排序,生成独立的索引表。在某列上创建索引后,如果该列出现在查询条件中,Oracle会自动的引用该索引,先从索引表中查询出符合条件记录的ROWID,由于ROWID是记录的物理地址,因此可以根据ROWID快速的定位到具体的记录,表中的数据非常多时,引用索引带来的查询效率非常可观。

优点

1、提高对表的查询速度;

2、对表有关列的取值进行检查。

缺点

对表进行insert,update,delete处理时,由于要表的存放位置记录到索引项中而会降低一些速度。

1、一个基表不能建太多的索引;

2、空值不能被索引

3、只有唯一索引才真正提高速度,一般的索引只能提高30%左右。

语法

参数

01、UNIQUE:指定索引列上的值必须是唯一的。称为唯一索引。

02、schema ORACLE模式,缺省即为当前帐户

03、index 索引名

04、table 创建索引的基表名

05、column 基表中的列名,一个索引最多有16列,long列、long raw 列不能建索引列

06、DESC、ASC 缺省为ASC即升序排序

07、CLUSTER 指定一个聚簇(Hash cluster不能建索引)

08、INITRANS、MAXTRANS 指定初始和最大事务入口数

09、PCTFREE 索引数据块空闲空间的百分比(不能指定pctused)

10、STORAGE 存储参数,同create table 中的storage.

11、Tablespace 表空间名

12、NOSORT 不(能)排序(存储时就已按升序,所以指出不再排序)

1、索引信息,包含索引类型,唯一性,索引作用等表的信息

DBA_INDEXES

ALL_INDEXES

USER_INDEXES

2、索引列信息  包括索引上的列的排序方式等信息

DBA_IND_COLUMNS

ALL_IND_COLUMNS

USER_IND_COLUMNS

上一篇: 其它 Object
下一篇: 视图