1. 索引的特点
1)索引对所有用户透明
2)对于具有只读性,或者插入,更新,删除操作较少的大表来说,建立索引可以提高查询速度
3)可以在一列或者多列上边建立索引
4)索引可以有多个
5)索引需要磁盘存储,需要oracle自动维护
2. oracle 在RDBMS在访问数据时使用最根本的3中方法
1)全表扫描
2)ROWID
3)索引
3. 如果读取表的数据总量 超过 5%-10%,那么常常需要全表扫描,还要根据数据的分布情况
4. 索引扫描分两步:1)扫描得到相应的ROWID
2)通过ROWID读取表中相应的数据
5. 索引改进性能的程度取决于两个因素:1)数据的选择性
2)表数据在数据块上的分布
6. 索引扫描四种类型:
索引唯一扫描:指通过唯一键,主键,oracle返回一个数据行
索引范围扫描:1)在唯一键上使用range操作符(如>,<,<>,>=,<=,between)
2)在组合索引上,只使用部分列进行查询,导致查询出多行
3)对非唯一索引列上进行查询
索引全扫描:查询出的数据必须全部从索引中得到
索引快速扫描:和索引全扫描相似,但是快速扫描不进行数据的排序,可以使用多块读功能,也可以使用并行读功能,最大化数据吞吐量
7. 索引被抑制的情况: 1)使用不等于运算符:如<,>,<=,!=,在where中使用这些运算符
2)使用is null或者is not null,where中使用
3)使用函数,在非基于函数的索引中,使用trunc,substr,to_date等函数,会使索引失效
4)比较不匹配的数据类型,数据类型不匹配
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30135314/viewspace-1690724/
,如需转载,请注明出处,否则将追究法律责任。