数据库中索引(Index)的概念与目录的概念非常类似。如果某列出现在查询的条件中,
而该列的数据是无序的,查询时只能从第一行开始一行一行的匹配。创建索引就是对某些特
定列中的数据排序,生成独立的索引表。在某列上创建索引后,如果该列出现在查询条件中,
Oracle 会自动的引用该索引,先从索引表中查询出符合条件记录的 ROWID,由于 ROWID 是
记录的物理地址,因此可以根据 ROWID 快速的定位到具体的记录,表中的数据非常多时,
引用索引带来的查询效率非常可观。
如果表中的某些字段经常被查询并作为查询的条件出现时,就应该考
虑为该列创建索引。
当从很多行的表中查询少数行时,也要考虑创建索引。有一条基本的
准则是:当任何单个查询要检索的行少于或者等于整个表行数的 10%
时,索引就非常有用
Oracle 数据库会为表的主键和包含唯一约束的列自动创建索引。索引可以提高查询的效
率,但是在数据增删改时需要更新索引,因此索引对增删改时会有负面影响。
语法结构:创建索引
CREATE [UNIQUE] INDEX index_name ON
table_name(column_name[,column_name…])
语法解析:
1. UNIQUE:指定索引列上的值必须是唯一的。称为唯一索引。
2. index_name:指定索引名。
3. tabl_name:指定要为哪个表创建索引。
4. column_name:指定要对哪个列创建索引。我们也可以对多列创建索引;这种索引
称为组合索引。