oracle索引INdex

索引是与表相关的一种可选择数据库对象。索引是为提高数据检索的性能而建立,利用它可快速地确定指定的信息。

索引可建立在一表的一列或多列上,一旦建立,由ORACLE自动维护和使用,对用户是完全透明的。然而而当一表上存在许多索引时,修改、删除和插入操作的性能会下降。

索引是表的一个微型拷贝。
创建索引的方法:

自动
    当用户在表上定义了PRIMARY KEY或UNIQUE约束时,一个唯一索引将回被自动创建。
手工
     用户为了加快查询速度,在列上创建索引。


 唯一索引:索引字段值不允许重复。

创建唯一索引
CREATE UNIQUE(可写(unique)可不写(ununique) ) INDEX ui_dept_name   ON dept (dname)

非唯一索引:索引字段值可以重复。默认情况下,Oracle创建的索引是不唯一索引。

重建索引:主要消除索引存储碎片。

 ALTER INDEX emp_name REBUILD
删除索引
drop index index-name


 查看索引:使用数据字典中的USER_INDEXES和USER_IND_COLUMNS查询表和列上的索引名称

 SELECT    ic.index_name, ic.column_name,
  2        ic.column_position col_pos,ix.uniqueness
  3  FROM    user_indexes ix, user_ind_columns ic
  4  WHERE    ic.index_name = ix.index_name
  5  AND        ic.table_name = 'EMP';

原文地址:https://www.cnblogs.com/pacoson/p/3521506.html