浅析Oracle数据库优化器

来源 :商 | 被引量 : 0次 | 上传用户:hamainini
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着数据库规模的不断扩大,数据库系统的性能问题也越来越突出,数据库应用系统能否正常、高效地运行倍受关注,数据库优化技术方法的探索具有非常重要的意义。本文主要通过介绍Oracle数据库优化器的应用,了解一种Oracle数据库的SQL 分析和执行的优化工具。
  关键词:数据库;优化器
  在现代信息技术的带动下,数据库规模不断的扩大,用户数量的增加,数据库应用系统的响应速度下降,性能问题越来越突出。为了改善系统的性能,数据库系统的性能调整与优化对于整个系统的正常运行起着至关重要的作用。
  一、Oracle数据库的查询过程
  Oracle数据库应用系统通过SQL(Structured Query Language)语言与数据库进行通信,数据库管理系统通过执行用户提交SQL语句完成查询过程。
  (1)解析是检查SQL语句的语法和语义,最终生成SQL语句的执行计划,并将SQL语句和执行计划存放到共享池中。(2)执行(Execute)是指服务器进程按照SQL语句执行计划执行SQL语句。(3)提取数据(fetch)是指将被选择行数据返回到客户端。
  二、Oracle优化器(Optimizer)
  Oracle优化器是Oracle在执行SQL之前分析语句的工具。它负责指定SQL的执行计划,也就是它负责保证 SQL执行的效率最高。这些因素直接决定SQL的执行效率,所以优化器是 SQL 执行的核心,它做出的执行计划好坏,直接决定着SQL的执行效率。
  Oracle的优化器有两种优化方式:
  * RBO(Rule-Based Optimization): 基于规则的优化器
  在Oracle8i 之前,Oracle使用的是RBO的优化器,它的执行机制非常简单,就是在优化器里面嵌入若干种规则,执行的 SQL语句符合哪种规则(RANK),则按照规则(RANK)制定出相应的执行计划。由于RBO 只是简单的去匹配Rank,所以它的执行计划有时并不是最佳的。因此数据库的查询性能受到影响。
  * CBO(Cost-Based Optimization): 基于代价的优化器
  从Oracle8i 开始, Oracle引入了CBO,它的思路是让Oracle获取所有执行计划相关的信息,通过对这些信息做计算分析,最后得出一个代价最小的执行计划作为最终的执行计划。CBO是一种比RBO更理性化的优化器。从Oracle10g开始,Oracle已经彻底丢弃了RBO。 即使在表,索引没有被分析的时候,Oracle依然会使用CBO。此时,Oracle 会使用一种叫做动态采样的技术,在分析SQL的时候,动态的收集表,索引上的一些数据块,使用这些数据块的信息及字典表中关于这些对象的信息来计算出执行计划的代价,从而挑出最优的执行计划。
  CPU 代价(Cost)的计算方式现在默认为 CPU+I/O 两者之和。可通过DBMS_XPLAN.DISPLAY_CURSOR 观察更为详细的执行计划。优化器在判断是否用这种方式時,主要参照的是表及索引的统计信息。统计信息给出表的大小、有少行、每行的长度等信息。这些统计信息起初在库内是没有的,是做analyze后才出现的,很多时候,过期统计信息会令优化器做出一个错误的执行计划,因此应及时更新这些信息。CBO应该自动收集,实际却不然,有时候在CBO情况下,还必须定期对大表进行分析。
  三、Oracle优化器的模式
  1.CHOOSE
  这个值表示SQL语句既可以使用RBO优化器也可以使用CBO优化器,而决定该SQL到底使用哪个优化器的唯一因素是,所访问的对象是否存在统计信息。如果所访问的全部对象都存在统计信息,则使用CBO优化器优化SQL;如果只有部分对象存在统计信息,也仍然使用CBO优化器优化SQL,优化器会为不存在统计信息对象依据一些内在信息来生成统计信息,只是这样生成的统计信息可能不准确,而导致产生不理想的执行计划;如果全部对象都无统计信息,则使用RBO来优化该SQL语句。此模式仅在Oracle9i及之前版本中被支持,Oracle10g已经废除。Oracle8i及Oracle9i中为默认值。
  2.RULE
  不论是否存在统计信息,都将使用RBO优化器来优化SQL。仅在Oracle9i及之前版本中被支持,Oracle10g已经废除。
  3.FIRST_ROWS_n
  不论是否存在统计信息,都使用CBO优化器,并以最快的速度返回前n行记录。当CBO 的优化模式设置为FIRST_ROWS(n)时,Oracle在执行SQL时,优先考虑将结果集中的前 n条记录以最快的速度反馈回来。优化器并不需要同时将所有符合条件的结果返回,用户也不需要。这时,CBO将考虑用一种最快的返回前n条记录的执行计划,这种执行计划对于SQL的整体执行时间也不是最快的,但是在返回前数据量较少的记录上,确实最快的。
  4. FIRST_ROWS
  CBO尽可能快速的返回结果集的前面少数行记录。不论是否存在统计信息,都使用CBO优化器,FIRST_ROWS导致CBO使用“试探法”来产生执行计划,这种方式其成本可能会稍大一些。
  5.ALL_ROWS
  不论是否存在统计信息,都使用CBO优化器,且把CBO的优化目标设定为“最小的成本”。在Oracle 10g中为默认值。当CBO 模式设置为ALL_ROWS 时, Oracle会用最快的速度将SQL执行完毕,将结果集全部返回,它和FIRST_ROWS(n)的区别在于,ALL_ROWS强调以最快的速度将SQL执行完毕,并将所有的结果集反馈回来,而FIRST_ROWS(n)则侧重于返回前 n条记录的执行时间。ALL_ROWS 在OLAP 系统中使用得比较多,它用最快的速度获得 SQL执行的最后一条记录,而不是前 N 条记录。
  四、在 CBO下写 SQL语句的注意事项
  1.使用CBO 时,必须保证为表和相关的索引搜集足够的统计数据。
  2.使用CBO 时,要注意看采用了哪种类型的表连接方式。
  3.使用CBO 时,要注意被索引的字段的值的数据分布,会影响SQL语句的执行计划。
  4.使用CBO 时,SQL语句“FROM” 子句后面的表,必须全部使用ANALYZE 命令分析过,如果“FROM”子句后面的是视图,则此视图的基础表,也必须全部使用ANALYZE 命令分析过;否则,ORACLE 会在执行此SQL语句之前,自动进行ANALYZE 命令分析,这会极大导致SQL语句执行极其缓慢。
  也还有其他需要的注意事项,在工作中要特别留心哦。(作者单位:西安电子科技大学计算机学院)
  参考文献:
  [1]文平著.Oracle数据库性能优化的艺术[M].北京: 机械工业出版社,2012.7
  [2][澳] Guy Harrison 著 郑勇斌,胡怡文,童家旺, 译等. Oracle性能优化求生指南[M].北京: 人民邮电出版社,2012.9
  [3]杨小艳. Oracle数据库查询优化方法研究[J].计算机与现代化,2008, 152: 4-7.
其他文献
摘要:本文结合广西石化公司的设备管理现状和常减压装置内换热器的实际腐蚀情况,找出广西石化公司设备管理中存在的不足之处,并找出更好更合理的设备管理方法。鉴于常减压装置冷换设备的腐蚀情况,尤其是水冷器的腐蚀情况,结合理论研究以及兄弟炼厂在这方面的腐蚀防护经验,强化管理,找到适合本装置水冷器的防腐方法,保证装置的安全平稳运行。  关键词:冷换设备;设备管理;水冷器;腐蚀防护  1.前言  石油化工企业由
摘要:随着人们生活水平的提高以及城市化进程的进一步加快,越来越多的高层建筑涌现在城市与城镇中,成为象征一个城市文明程度的一道风景线。但是高层建筑与一般的普通建筑施工相比,难度相对较大,具备一定的自身特点,高层建筑安全是建筑企业和建筑工人必须要面临的一个问题,针对于此,本在重点分析高层建筑施工在管理中存在的主要问题。  关键词:高层建筑;建筑施工;问题  一、高层建筑的特点  通常来说,高层建筑是指
摘要:湖湘文化曾为人们津津乐道。然而在当今社会转型的大变革时期,湖湘文化给人的感觉是已经“没落”了。本文在追忆湖湘文化核心内涵的基础上,探讨湖湘文化弱化的表现,进而分析其中的原因。最后笔者探讨了如何在新时期发扬湖湘文化来推动湖南的发展。  关键词:湖湘文化;弱化;原因;推动发展  一、湖湘文化及其内核  到底存不存在湖湘文化?什么是湖湘文化?湖湘文化的内核是什么?关于这些问题,其实人们有着不同的观
摘要:企业文化自20世纪60年代产生以来,受到了广大企业界和学术界的重视。当前社会知识经济的竞争越来越激烈,企业文化作为企业生存核心资源,是构成企业竞争力的重要因素。20世纪80年代以后,企业文化才传到我们国家,并成为企业管理学的重要研究领域,在研究和建设方面都有了一定的成就,但是还存在一些不足。  关键词:企业文化;发展现状;建议  一、对企业文化的认识  1.对企业文化定义的认识  企业文化的
对于企业而言,经常会出现以企业文化为代表的保守性,不易更改性同信息化管理实施的创新性、革命性、前瞻性进行的较量.我们必须将二者统一起来,各取优势,各去缺点,恩威并施,
摘要:在全球化经济快速发展以及我国加入WTO之后,外资商业集团利用其人员、产品和混合等方面的优势,为国内客户提供全方位的商业服务。在给国内商业机构带来了激烈的竞争的情况下,在面对国外和国内挑战的混合强烈的冲击的同时,中国的商业机构的投入商业机构业务改革势在必行,如何来寻求投入商业机构的业务模型和实现方式是一个突破的方法,它被放置在前面各商业机构改革任务的首要位置,特别是在全国是一个共同的发展的问题
摘要:多功能应急救援发电照明系统主要是由救援鞋、压力发电装置、太阳能LED照明装置、前端照明灯、电路板部分(储能电池、电压转换器、照明灯控制系统和USB电能输出)和救援帽,可调节照明灯等组成。当有太阳时,利用STC12C5410的太阳能LED照明系统[1]就会发电并储存在救援帽上的储电池中,天比较暗时,则可以利用起来照明。救援鞋是利用支撑杆来调节高度,上坡的时候高端在后,下坡的时候高端在前,以此来
摘要:改革开放以来,我国的城市化水平不断提高,而市场经济的确立和发展更是大大加速了城市化的进程。但是城市化带来的遗留问题也越来越突出和严重。城市化进程加快必然导致的结果就是城市面积不段外扩,随之而来的就是土地被征用,无地可耕的农民越来越多。这些失去了赖以生存的土地的农民,被称之为“农民移民”。本文主要通过对当前农民移民所面临的生存现状进行调查和分析,了解这一群体所面临的问题,了解他们的需求,从而有
摘要:随着我国社会经济的发展,社会对于资源的流动效率的要求达到了前所未有的紧张需求,因此,发展现代化的第三方物流是非常重要的。发展第三方物流必须转变传统观念,将碎片化的服务模式整合到一起,进行整体性物流,同时要加强物流管理质量,并且从物流成本上加强控制,增强我国第三方物流的转变速度并且提升其竞争力。  關键词:第三方物流;整合;成本;物流管理  第三方物流有别于传统的物流模式,传统的物流模式即为碎
摘要:手机媒体的发展前景目前认为是在与传统媒体的对接上,突出其便利信息终端的优势,以克服传统媒体在时效性、地域性上限制。但手机媒体在与传统媒体对接融合上存在着诸多问题,在文本中我会结合多方观点分析手机报、手机电视等手机传播形式的发展机遇和限制因素。手机媒体被称之为“第五媒体”如何发展特色增加活力是手机媒体产业化发展的关键,也是本文的侧重点。  关键词:新媒体;手机报;手机广播;移动手机电视;手机媒