Oracle 创建索引

   索引是数据库服务器用来加快检索的速度,再通过加了索引的列进行检索
时候,数据库会自动使用索引,使用索引所在的列值进行快速检索,快速定位到
真实的数据内容。

哪些场合使用索引?

1.频繁使用where字句或连接条件
2.表比较大,数量多
3.列的取值范围广
4.查询结果占比比较小

索引创建

1.自动创建索引:
  在创建主键约束,唯一键约束,主键约束时会自动创建索引
2.手动创建索引:
  用户可以在列上创建唯一索引
索引创建
CREATE INDEX 索引名字 ON table(column);
如:

  create index   TB_SYS_DICTIONARY_idx  on   TB_SYS_DICTIONARY(DICT_NAME);

创建索引之后,查看索引

select uc.index_name,uc.COLUMN_NAME,ui.uniqueness 
from user_indexes ui,  user_ind_columns uc 
where ui.index_name=uc.INDEX_NAME
and uc.TABLE_NAME='TB_SYS_DICTIONARY'

其中index_name,COLUMN_NAME,显示的时索引名称和表中字段名称,更多信息可以单独
查询 user_indexes,user_ind_columns这两个表,查看所有与序列有关的信息
还有一个uniqueness字段,这是显示该索引是自动创建的还是手动创建的,UNIQUE表示
自动创建,NONUNIQUE标识手动创建,如下刚创建的索引所示

当然,创建的索引有误或者不常用时可以删除:

drop index  TB_SYS_DICTIONARY_idx;

删除索引之后查询如下图所示:

显示已经删除索引成功,查询中不再显示!

posted @ 2019-11-13 15:51  pillarzhang  阅读(5618)  评论(0编辑  收藏  举报