Oracle普通索引和唯一索引

普通索引

普通索引的唯一任务是加快对数据的访问速度。
因此,应该只为那些最经常出现在查询条件(WHERE column = )或排序条件创建索引。
普通索引允许被索引的数据列包含重复的值。

唯一索引

  唯一索引除了可以提高查询速度,还能做到列属性唯一,可以用作幂等性保证,唯一性约束等。
 
  这里补充下主键:
     创建主键SQL:
        SQL >  alter table 表名 add constraint 主键名 primary key (主键字段);
  主键是一种约束,和索引本质上是不同的,但是oracle中创建主键后会自动生成一个
  唯一索引。删除主键时也会把同名的索引删除。 
  但是唯一索引不一定是主键。
  主键和唯一索引的区别:主键列一定不允许空值,但是唯一索引列可以。

区别

 如果是普通索引,查询到指定结果后肯定要继续查,知道查找到第一个不满足条件的才会停止。
 如果是唯一索引,查到第一个满足的就不会继续查的。

创建语句

oracle : 
   
   创建唯一索引:
   create unique index 索引名称 on 表名(列字段);

   普通索引:
   单索引
   create index 索引名称 on table(列字段);
   
   删除索引
   drop index 索引名称;
 
   复合索引
   create index 索引名称  ON 表名(字段1,字段2);

   查询某张表中所有索引
   select * from ALL_INDEXS where table_name = 表名;

   查询某张表加了索引的列
   select * from ALL_IND_COLUMN where table_name = 表名;

   索引优缺点:
   优点 : 加快查询速度
   缺点 : 更新,要把索引也进行更新

你可能感兴趣的:(java后端,oracle,数据库)