[优化课程.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[优化课程

优化基础知识 1.应用类型 有效的应用设计 将最常用的应用分为2种类型:联机事务处理类型(OLTP),决策支持系统(DSS)。 联机事务处理(OLTP) 该类型的应用是高吞吐量,插入、更新、删除操作比较多的系统,这些系统以不断增长的大容量数据为特征,它们提供给成百用户同时存取,典型的OLTP系统是订票系统,银行的业务系统,订单系统。OTLP的主要目标是可用性、速度、并发性和可恢复性。 当设计这类系统时,必须确保大量的并发用户不能干扰系统的性能。还需要避免使用过量的索引与cluster 表,因为这些结构会使插入和更新操作变慢。 有效的应用设计 决策支持(DSS) 该类型的应用将大量信息进行提取形成报告,协助决策者作出正确的判断。典型情况是:决策支持系统将OLTP应用收集的大量数据进行查询。典型的应用为客户行为分析系统(超市,保险等)。 决策支持的关键目标是速度、精确性和可用性。 该种类型的设计往往与OLTP设计的理念背道而驰,一般建议使用数据冗余、大量索引、cluster table、并行查询等。 近年来,该类型的应用逐渐与OLAP、数据仓库紧密的联系在一起,形成的一个新的应用方向。 问题:公司的哪些应用系统是这两种类型? 性能调整综述 谁来调整系统? 什么时候调整? 建立有效调整的目标 在设计和开发时的调整 谁来调整系统 应用设计人员必须传达应用系统的设计,使得每个人都清楚应用中的数据流动. 应用开发人员必须传达他们选择的实现策略,使得语句调整的过程中能快速、容易地识别有问题的应用模块和可疑的SQL语句. 数据库管理人员必须仔细地监控系统活动并提供它们的资料,使得异常的系统性能可被快速得识别和纠正. 什么时候调整系统 多数人认为当用户感觉性能差时才进行调整,这对调整过程中使用某些最有效的调整策略来说往往是太迟了。此时,如果你不愿意重新设计应用的话,你只能通过重新分配内存(调整SGA)和调整I/O的办法或多或少地提高性能。Oracle提供了许多特性,这些特性只有应用到正确地设计的系统中时才能够很大地提高性能。 应用设计人员需要在设计阶段设置应用的性能期望值。然后在设计和开发期间,应用设计人员应考虑哪些Oracle 特性可以对系统有好处,并使用这些特性。 通过良好的系统设计,你就可以在应用的生命周期中消除性能调整的代价和挫折。下图说明在应用的生命周期中调整的相对代价和收益,最有效的调整 时间是在设计阶段。在设计期间的调整能以最低的代价给你最大的收益。 什么时候调整系统 图: 在应用生命周期中调整的代价 什么时候调整系统 图: 在应用生命周期中调整的收益 调整的目标 不管正在设计或维护系统,应该建立专门的性能目标,它使你知道何时要作调整。调整你的系统的最有效方法如下: ?? 当设计系统时考虑性能 ?? 调整操作系统的硬件和软件 ?? 识别性能瓶颈 ?? 确定问题的原因 ?? 采取纠正的动作 当你设计系统时,制定专门的目标;例如,响应时间小于3秒。当应 用不能满足此目标时,识别造成变慢的瓶颈(例如,I/O竞争),确 定原因,采取纠正动作。在开发期间,你应测试应用研究,确定在采 取应用之前是否满足设计的性能目标。 调整的目标 调整通常是一系列开销。一旦确定了瓶颈,可能要牺牲一些其它方面的指标来达到所要的结果。例如,如果I/O有问题,你可能需要更多内存或磁盘。如果不可能买,你可能要限制系统的并发性,来获取所需的性能。如果你已经明确地定义了性能的目标,那用什么来交换高性能的决策就变的很容易的,因为已经确定了哪些方面是最重要的,如果我的目标为高性能,可能牺牲一些空间资源。 随着应用的越来越庞大,硬件性能的提高,全面的调整应用逐渐变成代价高昂的行为,在这样情况下,要取得最大的投入/效率之比,较好的办法是调整应用的关键部分,使其达到比较高的性能,这样从总体上来说,整个系统的性能也是比较高的。这也就是有名的20/80原则,调整应用的20%(关键部分),能解决80%的问题。 在设计和开发时调整 良好设计的系统可防止在应用生命周期中产生性能问题。 系统设计人员和应用开发人员必须了解Oracle的查询处理机制以便写出高效的SQL语句。 “有效的应用设计”讨论了你的系统中各种可用的配置,以及每种配置更适合哪种类型的应用。 “优化器”讨论了Oracle的查询优化器,以及如何写语句以获取最快的结果。 3.sql语句调优 SQL 调整的目标 去掉不必要的大型表的全表扫描。 缓存小型表的全表扫描。 校验优化索引的使用。 检验优化的连接技术。 以上目标任务将占据SQL调整90%以上的工作。 SQL语句优化的过程 定位有问题的语句 检查执行计划 检查执行过程中优化器的统计信息 分析相关

文档评论(0)

317shaofen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档