资源描述:
《性能优化培训文档.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Oracle项目部专题知识总结提炼性能优化培训文档Author:Wenfeng.ZhangCreationDate:五月4,2011LastUpdated:五月4,2011五月4,2011DocumentRef:Version:DRAFT1ANote:Title,Subject,LastUpdatedDate,ReferenceNumber,andVersionaremarkedbyaWordBookmarksothattheycanbeeasilyreproducedintheheaderandfooterofdocuments.Whenyouchan
2、geanyofthesevalues,becarefulnottoaccidentallydeletethebookmark.YoucanmakebookmarksvisiblebyselectingTools->Options…ViewandcheckingtheBookmarksoptionintheShowregion.Approvals:Note:Toaddadditionalapprovallines,press[Tab]fromthelastcellinthetableabove.Note:Youcandeleteanyelementsoft
3、hiscoverpagethatyoudonotneedforyourdocument.Forexample,CopyNumberisonlyrequiredifthisisacontrolleddocumentandyouneedtotrackeachcopythatyoudistribute.第44页共44页DocumentControlChangeRecord3日期作者版本变更说明ZHA五月4,2011Zhangwenfeng1.0NoPreviousDocumentReviewers姓名职位Distribution拷贝编号姓名位置/岗位1234N
4、ote:ThecopynumbersreferencedaboveshouldbewrittenintotheCopyNumberspaceonthecoverofeachdistributedcopy.Ifthedocumentisnotcontrolled,youcandeletethistable,theNoteToHolders,andtheCopyNumberlabelfromthecoverpage.第44页共44页Note:Toupdatethetableofcontents,putthecursoranywhereinthetablean
5、dpress[F9].Tochangethenumberoflevelsdisplayed,selectthemenuoptionInsert>IndexandTables,makesuretheTableofContentstabisactive,andchangetheNumberofLevelstoanewvalue.第44页共44页性能优化简介性能优化简介本文档主要介绍与SQL调整有关的内容,内容涉及多个方面:SQL语句执行的过程、ORACLE优化器,表之间的关联,如何得到SQL执行计划,如何分析执行计划等内容,从而由浅到深的方式了解SQL优化
6、的过程,使大家逐步步入SQL调整之门,然后你将发现……第1章SQL语句处理的过程在调整之前我们需要了解一些背景知识,只有知道这些背景知识,我们才能更好的去调整sql语句。本节介绍了SQL语句处理的基本过程,主要包括:•查询语句处理•DML语句处理(insert,update,delete)•DDL语句处理(create..,drop..,alter..,)•事务控制(commit,rollback)SQL语句的执行过程(SQLStatementExecution)图3-1概要的列出了处理和运行一个sql语句的需要各个重要阶段。在某些情况下,Oracle运
7、行sql的过程可能与下面列出的各个阶段的顺序有所不同。如DEFINE阶段可能在FETCH阶段之前,这主要依赖你如何书写代码。对许多oracle的工具来说,其中某些阶段会自动执行。绝大多数用户不需要关心各个阶段的细节问题,然而,知道执行的各个阶段还是有必要的,这会帮助你写出更高效的SQL语句来,而且还可以让你猜测出性能差的SQL语句主要是由于哪一个阶段造成的,然后我们针对这个具体的阶段,找出解决的办法。第44页共44页7第44页共44页图3-1SQL语句处理的各个阶段DML语句的处理本节给出一个例子来说明在DML语句处理的各个阶段到底发生了什么事情。假设你
8、使用Pro*C程序来为指定部门的所有职员增加工资。程序已经连到正确的用户,你可以