1 / 7
文档名称:

Oracle数据库SQL语句优化要点分析.doc

格式:doc   大小:26KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Oracle数据库SQL语句优化要点分析.doc

上传人:tiros009 2018/11/4 文件大小:26 KB

下载得到文件列表

Oracle数据库SQL语句优化要点分析.doc

文档介绍

文档介绍:Oracle数据库SQL语句优化要点分析【摘要】针对Oracle数据库性能受到SQL语句制约的问题,本文针对SQL语句的优化要点进行了分析。首先详细描述了Oracle优化器,给出了影响执行计划的因素;其次对SQL语句可优化的类型进行了总结分析,并详细分析了优化的规则,举出了SQL实例进行比较。本文对于系统维护人员和数据库分析师都具有一定的积极作用。【关键词】Oracle;数据库;SQL 1引言随着信息化进程的不断加快,数据库的应用越来越广泛,信息系统的优劣与数据库系统的性能有着直接的关联。随着数据库规模的不断扩大,如何保持数据库应用系统高效地运行,受到人们越来越多的关注。 2优化器对于信息管理系统来说,其最关键的核心是数据库系统,对于众多的应用系统来说,查询操作在整个系统中占据着相当大的比重,也就是说,查询速度的快慢直接影响着信息管理系统的性能。当数据库的规模越大,这个特性表现的越明显,良好的查询语句对系统性能的提高起着积极的作用。 ,最终都要在Oracle数据库中执行,Oracle数据库在执行SQL语句之前,首先通过优化器利用初始化的参数,并利用指定的优化方法对执行计划进行分析,并执行。当前,Oracle优化器主要有RBO和CBO两种优化方式。其中RBO是基于规则的优化器,根据访问的路径和访问路径的等级去选择SQL语句的执行计划,假如一条SQL语句有多个路径可以通过,Oralce会自动选择等级最低的访问路径。RBO优化器仅含有几条在小表上低效利用的索引,无形之中增加了I/O,该优化方式效率相对较低;CBO是基于代价的优化器,其成本主要由可用访问路径、嵌入的提示、对象的统计信息等组成,CBO会选择成本代价最低的执行计划。当前,CBO优化器成为Oracle数据库优化的主要组成,CBO的构成如图1所示。利用Oracle优化器对SQL语句进行分析,在所有的查询中,有一半经过RBO优化之后,执行的速度会快一点,而另一半则由CBO优化后,执行的速度最快。从Oracle8i版本以后,RBO优化已经不再发展RBO。 ,总结起来主要有几种。(1)连接顺序。当前,数据库进行数据查询,大部分情况下都需要由若干表连接,一般采取将查询结果只有一行记录的表优先。(2)访问路径。对于路径的扫描,Oracle优化器的方式有簇扫描、索引扫描、行ID扫描、全表扫描、散列扫描等。由于Oracel数据库对I/O的评估原则是“块”在整个表中所占的比例来确定选取何种扫描路径。(3)连接方式。查询优化的重点是连接操作,内表与外表之间进行连接的算法主要有归并连接、散列连接及嵌套循环连接,每种连接都有其自己的优点。(4)成本估算。其成本的代价主要从I/O、CPU和通信三方面进行考虑,其中I/O是最主要的。在成本估算中占的比重最大。 3优化SQL语句 。(1)简单语句。对于数据表的操作,主要的操作动作有select、update、insert及delete语句,这种类型的语句主要包括from和where。一般来说,可以优化的地方主要在where中。其影响效率的问题主要集中在几个方面:分组或排序过程中包含了过多的中间结果集、对索引的列使用了全