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)比较不匹配的数据类型,数据类型不匹配
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)比较不匹配的数据类型,数据类型不匹配
本文探讨了数据库索引的特点,包括透明性、适用于大表的查询加速、多种索引类型及维护。介绍了全表扫描、ROWID访问和索引访问三种数据访问方式,并详细阐述了索引扫描的四种类型及其适用场景。同时,分析了索引性能改进的因素,如数据选择性和数据分布。此外,还列举了可能导致索引失效的情况,如不等于运算符、函数使用和数据类型不匹配。

被折叠的 条评论
为什么被折叠?



