什么是索引?
数据库中索引(Index)的概念与目录的概念非常类似。如果某列出现在查询的条件中,而该列的数据是无序的,查询时只能从第一行开始一行一行的匹配。创建索引就是对某些特定列中的数据排序,生成独立的索引表。在某列上创建索引后,如果该列出现在查询条件中,Oracle会自动的引用该索引,先从索引表中查询出符合条件记录的ROWID,由于ROWID是记录的物理地址,因此可以根据ROWID快速的定位到具体的记录,表中的数据非常多时,引用索引带来的查询效率非常可观。
创建索引:
SQL语句:create [unique] index 索引名 on 表名(列名);
创建唯一索引:
示例:在表emp为ename列创建名为uq_ename_idx 索引。
SQL语句:create unique index uq_ename_idx on emp(ename);
如下图所示:
查询如下:
创建普通索引:
Create index 索引名 on 表名(列名)
删除唯一索引:
SQL语句:drop index 索引名;
示例:删除索引名uq_ename_idx;
SQL语句:drop index uq_ename_idx;
如下图所示:
删除普通索引:
SQL语句:drop index 索引名;
示例:删除索引名idx_sal;
SQL语句:drop index idx_sal;
如下图所示: