- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用执行计划调优ORACLE数据库
摘要:本文通过对SQL的执行计划方面进行切入,结合执行计划的各个方面来进行相应的实验和分析,从而达到提高ORACLE效率,和解决时下由于数据库功能和规模的扩大与数据库性能调优的复杂带来的应用的矛盾的效果。
关键词:Oracle;调优;执行计划; Cost
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)28-0013-03
Using SQL Plan to Optimize Oracle Database
TANG Xu-dong
(Tongji University,Shanghai 200093,China)
Abstract: In this paper, the optimized designs are focused on SQL plan, It analyses the implement of the optimization of oracle database by the aspects of SQL plan, to achieve the goal of improvement of the Oracle Database and salvation of The conflict between the expansion of database functionality and scale, and the growing complexity of database tunning.
Key words: oracle; tunning; plan; cost
1 引言
数据库系统是人们用来管理信息的有效存储工具,但随着信息社会与网络应用的不断发展,数据库规模也随之不断的扩大,数据库系统的性能问题就越来越突出。优化是有目的地更改系统的一个或多个组件,使其满足一个或多个目标的过程。对Oracle来说,优化是进行有目的的调整组件级以改善性能,即增加吞吐量,减少响应时间。本文针对数据库系统的性能调优问题,通过以Oracle为例,从SQL的执行计划方面来对数据库调优方面做出相应的阐述。
2 优化器
分析语句的执行计划的工作是由优化器(Optimizer)来完成的。
ORACLE的优化器共有3种: 1) RULE (基于规则); 2) COST (基于成本); 3) CHOOSE (选择性) 。
如果数据库的优化器模式设置为选择性(CHOOSE),那么实际的优化器模式将和是否运行过analyze命令有关. 如果table已经被analyze过, 优化器模式将自动成为CBO , 反之,数据库将采用RULE形式的优化器。
在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器。
优化器在形成执行计划时需要做的一个重要选择是如何从数据库查询出需要的数据。对于SQL语句存取的任何表中的任何行,可能存在许多存取路径(存取方法),通过它们可以定位和查询出需要的数据。优化器选择其中自认为是最优化的路径。
3 执行计划各参数分析
我们来看一个用dbms_system存储过程生成的执行计划,因为使用dbms_system存储过程可以跟踪另一个会话发出的sql语句,并记录所使用的执行计划,而且还提供其它对性能调整有用的信息。
例子:txd_nonauto_agreement_t是一个较大分区的表,txd_nonauto_agreement_t是一个数据跟nonauto_agreement_t完全一样但没有分区也没有索引的表。
1)txd_nonauto_agreement_t的 policy_no列上没有索引,则运行下面的语句:
select * from txd_nonauto_agreement_t where policy_no=’AJINH59A2005B001172J’
在PL/SQL中可以看到如下的执行计划:
■
图1 没有索引的执行计划结果
在这个例子中,TABLE ACCESS FULL是第一个操作,意思是在txd_nonauto_agreement_t表上做全表扫描。当这个操作完成之后,产生的row source中的数据被送往下一步骤进行处理,在此例中,SELECT STATEMENT操作是这个查询语句的最后一步。
2)nonauto_agreement_t 表的policy_no列上有索引,则运行下面的语句:
select * from
您可能关注的文档
- 结对实验在计算机专业课程实验中的应用.doc
- 结构化P2P系统路由机制的研究.doc
- 结构化方法学与面向对象方法学在软件开发中的比较.doc
- 教育游戏在小学英语单词教学中的应用设计.doc
- 揭穿四招QQ小骗术.doc
- 结合不同专业培养方向,深化高校计算机基础教育改革.doc
- 结合桐庐实际浅谈政府网站建设.doc
- 结合线性与非线性模式的计算机基础课程教学.doc
- 结合校园信息化建设促进软件工程专业的建设.doc
- 解读IP地址并轻松划分子网.doc
- 2024年新人教版一年级上册数学教学课件 数学游戏 0.1 在校园里找一找.pptx
- 2024秋新人教版英语七年级上册教学课件 Unit 1 Section A (1a—1d).pptx
- 2024年新人教版数学一年级上册 第1单元 5以内数的认识和加、减法 1 1~5的认识 第1课时1~5的认识 教学课件.pptx
- 2024年新人教版一年级数学上册课件 单元 第1课时 立体图形的认识.pptx
- 2024年新人教版数学一年级上册 第2单元 6~10的认识和家、减法 3 10的认识和加、减法 第1课时 10的认识 教学课件.pptx
- 2024年秋新人教版七年级上册英语教学课件 Starter Unit 2第4课时(Section B 1a-1d)第4课时(Section B 1a-1d).pptx
- 2024秋新人教版英语七年级上册课件 Unit3第二课时.pptx
- 2024秋新人教版数学一年级上册课件 第五单元 20以内的进位加法第3课时 5、4、3、2加几.pptx
- 领导干部2025年上半年履行全面从严治党主体责任工作报告材料.docx
- 2024年新人教PEP版三年级上册英语课件unit1 B 第1课时.pptx
文档评论(0)