6.1、索引--Oracle模式对象

1、创建索引:

(1).单列索引

Create index name_index on 门诊费用记录(id)

(2).复合索引

同一张表可以有多个索引,但是要求列的组合必须不同,

--例如:

Create index emp_id on emp(ename,job);

Create index emp_id on emp(job,ename);

搜索是按照从后往前的顺序查找到,所以建立索引时,应按照列的区分度

 

2、创建原则:

(1).在大表上创建索引才有意义;

(2).在where子句或是连接条件上,经常引用的列上建立索引;

(3).索引的层次不要超过4层。

 

3、查看索引

显示表上包含的所有索引:

查询数据字典视图dba_indexs(数据库所有索引)和user_indexs(当前用户的索引)

Select index_name,index_type from user_indexs where table_name='表名';

--例如:

select * from user_indexes where table_name='门诊费用记录'

 

显示索引中的列:

查询数据字典视图user_ind_columns

Select table_name,column_name from user_ind_columns where index_name='IND_NAME';

--例如:

Select * from user_ind_columns where index_name in('门诊费用记录_IX_登记时间','门诊费用记录_IX_医嘱序号')

 

4、索引的优点和缺点:

优点:

(1).通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

(2).可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

(3).可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

(4).在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

(5).通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

缺点:

(1).占硬盘和内存空间;

(2).更新(增删改)数据时,索引要动态维护,系统需要额外的时间和资源参与维护,以维持数据和索引的一致性;

 

posted @ 2016-05-19 23:31  囧囧友  阅读(231)  评论(0编辑  收藏  举报