Oracle数据库中数据访问优化方法
2015-08-15李永亮
科技视界 2015年15期
李永亮
(沈阳航空航天大学,辽宁 沈阳110136)
Oracle数据库被越来越多的应用在各个领域,信息系统的优劣与数据库系统的性能有着直接的关联。随着数据库规模的不断扩大,如何保持数据库应用系统高效地运行,受到人们越来越多的关注。对于应用系统来说,数据访问操作在整个系统中占据着相当大的比重,也就是说,数据访问速度的快慢直接影响着系统的性能。
1 影响查询优化器决策的因素
Oracle数据库引擎访问数据基本上有两种方式,一种是扫描整个表,一种是基于冗余访问结构(如索引)进行查找或基于表本身的机构(比如哈希聚簇)进行查找。查询优化器对于访问数据选用全表扫描还是索引扫描,基于对这两种访问方式相应开销的估算,影响优化器决策的因素主要有以下几个:
1)进行全表扫描需要读取的数据块数目。
2)进行索引查询需要读取的数据块数目,这主要基于对WHERE子句谓词返回的记录数目的估计。
3)进行全表扫描时多块读的相关开销以及为满足索引查询进行的单块读的开销。
4)内存缓存中的索引块和数据块数目的假设。
当查询优化器正确的选择执行计划后,并不意味着特定执行计划一定运行良好。所以有时可以通过调整SQL语句或访问结构,来达到优化的目的。判断数据访问最有效的标准是处理数据时消耗的资源最少,当然最有效不一定是最快。
2 影响数据访问的因素
一般对全表扫描和索引扫描来说,在WHERE子句的条件选择性不是很高时,全表扫描是最合适的检索路径,而在条件的选择性很高时,索引或聚簇方法将更合适。……
登录APP查看全文
