Oracle(创建index)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle(创建index)相关的知识,希望对你有一定的参考价值。

概念:

1. 类似书的目录结构

2Oracle 的“索引”对象,与表关联的可选对象,提高SQL查询语句的速度

3、 索引直接指向包含所查询值的行的位置,减少磁盘I/O

4、 与所索引的表是相互独立的物理结构

5Oracle 自动使用并维护索引,插入、删除、更新表后,自动更新索引

 

创建:

    1.自动创建

当在表中指定了primary Key或者unique约束时会自动创建唯一值索引。

2.用户创建。

用户可以创建非唯一值所在以提高在访问行时的效率。

语法:

CREATE INDEX index_name

ON table_name (column[, column]...);

例如:

 create index myIndex on emp (eid);

 

创建成功后可以通过如下语句查看:

 select index_name,index_type from user_indexes;

 select * from user_ind_columns;

创建索引的原则:

1.列经常作为where子句的限定条件或者作为连接条件

2.列包含的数据量很大,并且很多非空的值。

3.两个或者更多列频繁的组合在一起作为where的限定条件或者连接条件

4.列总是作为收索条件

5.索引查出的数据量占2%~4%

6.索引不是越多越好,不是索引越多越能加速查找。

7.要索引的表不经常进行修改操作

 

删除索引:

语法:DROP INDEX index_name;

例如:drop index myIndex;

以上是关于Oracle(创建index)的主要内容,如果未能解决你的问题,请参考以下文章

oracle如何清除创建失败的索引

oracle如何清除创建失败的索引

oracle6

如何在 Oracle PL/SQL 上创建可以捕获 DUP_VAL_ON_INDEX 的前触发器或后触发器

oracle数据库中如何查看已经创建的索引信息?

oracle 中sql语句怎么加多个强制索引