Oracle性能优化01 - Oracle性能优化综述


DATAGURU专业数据分析网站 2012.10.15 性能优化 第一课—Oracle性能优化综述(热身) DATAGURU专业数据分析网站 2012.11.15 课程表 � 第1周 性能优化综述 � 第2周 锁 � 第3周 Latch � 第4周 优化器和执行计划 � 第5周 Hints � 第6周 等待事件 � 地7周 索引和分区(包括11g下新的组合分区) � 地8周 分析及动态采样(包括11g下的extended statistics技术) � 第9周 并行执行 � 第10周 变量邦定(包括11g下Adaptive cursor sharing技术) � 第11周 sql_trace及10046 � 第12周 10053事件 � 第13周 性能视图和性能参数 � 第14周 性能报告分析(AWR,ASH) � 第15周 基于Oracle RAC架构的性能优化 DATAGURU专业数据分析网站 2012.11.15 这门课程预期达到的目的 � 学员对数据库优化有一个比较清晰的思路 � 能够客观的评价数据库的性能问题 � 能够比较顺利的定位到问题点 � 能够处理常见的性能问题。 DATAGURU专业数据分析网站 2012.11.15 性能---数据库发展的大势所趋 � 关系型数据库功能趋于完美 � 业务对性能的需求日益提高 � 数据量的激增 DATAGURU专业数据分析网站 2012.11.15 DBA角色的转变 � 不能再固步自封在独立的数据库层面 � 技术方向上,应多考虑性能方面的问题 � 积极参与到业务层面,从业务角度思考问题 DATAGURU专业数据分析网站 2012.11.15 性能优化的原则 � 不是所有的数据库都需要(能够)优化 � 数据库库的性能,大多数都不是从数据库层面能够解决的 � 在不了解业务之前,不可能找到正确的优化思路 � 优化要有一个度,并不是“没有最优,只有更优” DATAGURU专业数据分析网站 2012.11.15 导致性能问题的可能原因 � 表没有正确的创建索引 ----错误的执行计划 � 表没有及时的分析 -------错误的执行计划 � 热块-------数据块的争用(反向索引?) � 锁的阻塞------业务设计缺陷 � SQL解析消耗大量CPU ----变量绑定 � 低效的SQL -----SQL自身的问题 � 数据库整体负载过程----架构设计的问题 ...... DATAGURU专业数据分析网站 2012.11.15 性能问题的定位 原则 尽可能从小范围分析问题 � SQL层 – 如果能从定位到SQL,就不要从会话层面分析 • 工具 执行计划,10053,10046.... � 会话层 – 如果能定位到会话,就不要从系统层面分析 • V$SESSION,V$SESSTAT,V$SESSION_WAIT,V$SQL,V$LOCK,SQL_TRACE � 系统层 – 如果无法定位任何性能问题,从系统层面入手 •AWR(STATSPACK),OS tools(TOP,IOSTAT....) DATAGURU专业数据分析网站 2012.11.15 不要迷恋优化器 � 不要迷信优化器,优化器永远无法知道你的业务需求 – 优化器永远无法按照你的业务需求来重写你的SQL语句。 – 优化器只能在数学(集合)逻辑上做SQL的重写。 � 高效的SQL来自于对业务的理解和对SQL执行过程的理解。 DATAGURU专业数据分析网站 2012.11.15 业务逻辑 ---优化器无能为力 DATAGURU专业数据分析网站 2012.11.15 业务逻辑 ---优化器无能为力 DATAGURU专业数据分析网站 2012.11.15 业务逻辑 ---优化器无能为力 DATAGURU专业数据分析网站 2012.11.15 --为什么高效的SQL这么难? � SQL语言本质上是集合的操作 � 语言的效率,是SQL语言的最难的地方 – tablesan – index range scan – index fast scan – nested loop join – merge join – hash join ... ... � 优化器机制开发者无法掌控 DATAGURU专业数据分析网站 Thanks FAQ时间
还剩13页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享pdf获得金币 ] 3 人已下载

下载pdf

pdf贡献者

adt126

贡献于2014-01-21

下载需要 3 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf