- 1、本文档共138页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
前言
本文档主要介绍与 SQL 调整有关的内容,内容涉及多个方面:SQL 语句执行的过程、
ORACLE 优化器,表之间的关联,如何得到 SQL 执行计划,如何分析执行计划等内容,从
而由浅到深的方式了解 SQL 优化的过程,使大家逐步步入 SQL 调整之门,然后你将发
现……。
该 文 档 的 不 当 之 处 , 敬 请 指 出 , 以 便 进 一 步 改 正 。 请 将 其 发 往 我 的 信 箱 :
xu_yu_jin2000@。
如果引用本文的内容,请著名出处!
作者:徐玉金
MSN:sunny_xyj@
Email: xu_yu_jin2000@
日期:2005.12.12
活跃于: SunnyXu
1
第 1 章 性能调整综述
第 2 章 有效的应用设计
目录
第 3 章 SQL 语句处理的过程
第 4 章 ORACLE 的优化器
第 5 章 ORACLE 的执行计划
访问路径(方法) -- access path
表之间的连接
如何产生执行计划
如何分析执行计划
如何干预执行计划 - - 使用 hints 提示
具体案例分析
第 6 章 其它注意事项
附录
2
第 1 章 性能调整综述
Oracle 数据库是高度可调的数据库产品。本章描述调整的过程和那些人员应与 Oracle
服务器的调整有关,以及与调整相关联的操作系统硬件和软件。本章包括以下方面:
谁来调整系统?
什么时候调整?
建立有效调整的目标
在设计和开发时的调整
调整产品系统
监控产品系统
谁来调整系统:
为了有效地调整系统,若干类人员必须交换信息并牵涉到系统调整中,例如:
应用设计人员必须传达应用系统的设计,使得每个人都清楚应用中的数据流动.
应用开发人员必须传达他们选择的实现策略,使得语句调整的过程中能快速、容易地识
别有问题的应用模块和可疑的 SQL 语句.
数据库管理人员必须仔细地监控系统活动并提供它们的资料,使得异常的系统性能可被
快速得识别和纠正.
硬件/软件管理人员必须传达系统的硬件、软件配置并提供它们的资料,使得相关人员
能有效地设计和管理系统。
简而言之,与系统涉及的每个人都在调整过程中起某些作用,当上面提及的那些人员传
达了系统的特性并提供了它们的资料,调整就能相对的容易和更快一些。
不幸的是,事实上的结果是:数据库管理员对调整负有全部或主要的责任。但是,数据
库管理员很少有合适的系统方面的资料,而且,在很多情况下,数据库管理员往往是在实施
阶段才介入数据库,这就给调整工作带来许多负面的影响,因为在设计阶段的缺陷是不能通
过 DBA 的调整而得以解决,而设计阶段的缺陷往往对数据库性能造成极大的影响。
其实,在真正成熟的开发环境下,开发人员作为纯代码编写人员时,对性能的影响最小,
此时大部分的工作应由应用设计人员完成,而且数据库管理员往往在前期的需求管理阶段就
介入,为设计人员提供必要的技术支持。
调整并不是数据库管理员的专利,相反大部分应该是设计人员和开发人员的工作,这就
需要设计人员和开发人员具体必要的数据库知识,这样才能组成一个高效的团队,然而事实
上往往并非如此。
什么时候作调整?
多数人认为当用户感觉性能差时才进行调整,这对调整过程中使用某些最有效的调整策
略来说往往是太迟了。此时,如果你不愿意重新设计应用的话,你只能通过重新分配内存(调
整 SGA)和调整 I/O 的办法或多或少地提高性能。Oracle 提供了许多特性,这些特性只有应
用到正确地设计的系统中时才能够很大地提高性能。
应用设计人员需要在设计阶段设置应用的性能期望值。然后在设计和开发期间,应用设
计人员应考虑哪些 Oracle 特性可以对系统有好处,并使用这些特性。
通过良好的系统设计,你就可以在应用的生命周期中消除性能调整的代价和挫折。图
1-1 图 1-2 说明在应用的生命周期中调整的相对代价和收益,正如你见到的,最有效的调整
3
时间是在设计阶段。在设计期间的调整能以最低的代价给你最大的收益。
COST
Design
TIME
Development
Production
图 1-1 在应用生命周期中调整的代价
Benefit
Design Development
Time
图 1-2 在应用生命周期中调整的收益
Production
当然,即使在设计很好的系统中,也可能有性能降低。但这些性能降低应该是可控的和
可以预见的。
调整目标
不管你正在设计或维护系统,你应该建立专门的性能目标,它使你知道何时要作调整。
如果你试图胡乱地改动初始化参数或 SQl 语句,你可能会浪费调整系统的时间,而且无什
么大的收益。调整你的系统的最有效方法如下:
您可能关注的文档
- MATLAB教程 符号计算.doc
- MATLAB课后习题集(张亚运).doc
- MATLAB-课后习题集jhq.doc
- MATLAB实验讲义.doc
- MATLAB图像处理.doc
- MBA英语词根词缀总结.pdf
- MBA英语词汇易混淆125个词.doc
- MODIS-数据预处理.doc
- NBM生态养殖关键技术.doc
- NETGEAR先进易用网络存储解决方案.doc
- 中考沪科版数学八年级压轴题 专题11 全等三角形模型之一线三等角和三垂直模型-解析版.docx
- 中考沪科版数学八年级压轴题 专题12 全等三角形模型之手拉手和角平分线模型-解析版.docx
- 照明控制项目绩效评估报告.docx
- 呼吸困难的临床表现施姮学校安徽卫生健康职业讲解.pptx
- 地方性砷中毒讲解.pptx
- 2025年T电梯修理考试题库及答案.docx
- 基本护理技术卧位安置讲解.pptx
- 第三章神经发育障碍性疾病的康复康复治疗技术专业教学讲解.pptx
- 中考沪科版数学八年级压轴题 专题13 全等三角形模型之半角模型和边边角模型-解析版.docx
- 中考沪科版数学八年级压轴题 专题14 全等三角形中动点问题的四种类型-解析版.docx
文档评论(0)