[UNIQUE]
INDEX
ON
(字段
[ASC|DESC]);
UNIQUE
--确保所有的索引列中的值都是可以区分的。
[ASC|DESC]
--在列上按指定排序创建索引。
(创建索引的准则:
1如果表里有几百行记录则可以对其创建索引(表里的记录行数越多索引的效果就越明显)。
2不要试图对表创建两个或三个以上的索引。
3为频繁使用的行创建索引。
)
示例
create
index
i_1
on
emp(empno
asc);当查询的数据量比较大时,创建索引有如下五大主要作用:
通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。可以大大加快数据的检索速度,这也是创建索引的最主要的原因。可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
Oracle查询优化器会感知到你建立的索引,在有对应字段谓词出现的时候就会自动使用。但是在某些情况下Oracle查询优化器则无法使用索引,例如
含有隐式类型转换
使用OR来连接谓词
字段上使用了函数或是表达式
索引扫描代价大于全表扫描
not in
like '%xxx'
[unique|fulltext|spatial]
index
index_name[using
index_type]on
tbl_name
(index_col_name,)index_col_name:col_name[(length)]
[asc
|
desc]如果你经常要用到多个字段的多条件查询,可以考虑建立联合索引,一般是除第一个字段外的其它字段不经常用于条件筛选情况,比如说a,b
两个字段,如果你经常用a条件或者a+b条件去查询,而很少单独用b条件查询,那么可以建立a,b的联合索引。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)