首页 > 数据库 > 数据库开发技术 > oracle开发学习笔记一之索引
创建索引:
1、单列索引
Create index name_index on 门诊费用记录(id)
2、复合索引
同一张表可以有多个索引,但是要求列的组合必须不同,例如:
Create index emp_id on emp(ename,job);
Create index emp_id on emp(job,ename);
搜索是按照从后往前的顺序查找到,所以建立索引时,应按照列的区分度创建
创建原则:
1、在大表上创建索引才有意义;
2、在where子句或是连接条件上,经常引用的列上建立索引;
3、索引的层次不要超过4层。
索引的优点和缺点:
优点:
1、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
2、可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
3、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
4、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
5、通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
缺点:
1、占硬盘和内存空间;
2、更新(增删改)数据时,索引要动态维护,系统需要额外的时间和资源参与维护,以维持数据和索引的一致性;
如何查看索引:
显示表上包含的所有索引:
查询数据字典视图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_医嘱序号')
也可以的通过PLSQL查看
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27025927/viewspace-761370/ ,如需转载,请注明出处,否则将追究法律责任。