 
             
             
            客服微信

 
         学习人数:1865
                学习人数:1865
                 课程类型:就业培训
                
                                        课程类型:就业培训
                                    
                 课时长度:2天/12课时
                课时长度:2天/12课时
             
                     
                在日常的运维工作中,我们经常遇到SQL突然变慢,执行了几个小时还没有结果返回。我们收了执行计划,SQL有几百行,执行计划也有几十行,耐住性子看了好半天,还是理不出头绪,心象被一团乌云堵住。只好找更资深的DBA去解决,资深DBA看看执行计划告诉你,你试试这个,再试试那个,实在不行找应用讨论一下。多数时候,我们能把问题用SQL改写、加HINT、用SQL profile的方式绕过去,可是当写报告时,面对质疑时,我们又说不出所以然,只好色厉而内荏地说,事情本来就是这样。带着一脑子自己都讲不清的问号,惴惴不安地结束谈话。
如果您是一名开发人员,收到DBA让你改SQL/加hint的建议时,你心里会不会有很多问号?为什么以前不出?数据量没有太大变化呀!真的是SQL的问题吗?release一个版本需要经过N多繁复的过程,年底会不会被扣绩效?w您知道DBA说得不对,但又无力反驳....
有没有一种办法,能让我们暂时放下执行计划,放下SQL语句,用极快的速度找到问题发生在哪里,并快速有效地解决问题,一招命中。写报告时,又能经得起质疑与推敲呢?
其实是有的。上面说的是“放下”,放下不是放弃,是暂时放下那些让你乌云堵心的东西,去观察问题的实相,最直接的问题是慢,我们去观察慢就好了,为什么跳过N多步去读执行计划呢?
通过这门课,大家将学会SQL优化的另一个方法。这个方法快速、有效、精准。
 如何快速定位SQL性能问题
如何快速定位SQL性能问题 搞清楚这是个SQL优化的问题还是DB性能的问题。
搞清楚这是个SQL优化的问题还是DB性能的问题。
 是SQL执行计划的问题,还是数据库资源等待的问题
是SQL执行计划的问题,还是数据库资源等待的问题
 或是OS资源的问题
或是OS资源的问题 什么情况下需要优化SQL
什么情况下需要优化SQL 是SQL执行频率高的问题,还是单次执行慢的问题?
是SQL执行频率高的问题,还是单次执行慢的问题? 是执行计划中的哪一步造成了性能问题
是执行计划中的哪一步造成了性能问题 如何收集执行计划
如何收集执行计划
 通过sql monitor为SQL优化提供数据
通过sql monitor为SQL优化提供数据
 通过ASH为SQL优化提供数据
通过ASH为SQL优化提供数据 如何度量一条SQL的性能
如何度量一条SQL的性能 很多初级DBA会说看cost,这是不对的cost只是Oracle猜测的结果
很多初级DBA会说看cost,这是不对的cost只是Oracle猜测的结果
 在统计信息正确的基础上,看cost,可能只是决定加索引的一个度量,并不是度一条SQL真实性能的度量。
在统计信息正确的基础上,看cost,可能只是决定加索引的一个度量,并不是度一条SQL真实性能的度量。 SQL访问路径
SQL访问路径 全表扫描
全表扫描
 索引范围扫描
索引范围扫描
 索引唯一扫描
索引唯一扫描
 索引全扫描
索引全扫描
 索引快速全扫描
索引快速全扫描
 我们将用动画方式演示B*Tree索引的构建过程及内部结构
我们将用动画方式演示B*Tree索引的构建过程及内部结构 结果集的连接方式
结果集的连接方式 Nested loop Join
Nested loop Join
 Hash Join
Hash Join
 Sort Merge Join
Sort Merge Join
 我们将用动画试演示Hash Table是如何生成的
我们将用动画试演示Hash Table是如何生成的 优化器选择访问路径的算法
优化器选择访问路径的算法 选择率计算
选择率计算
 数据库均匀分布
数据库均匀分布
 直方图
直方图
 Out of range
Out of range
 成本计算
成本计算 优化器选择连接方式的算法
优化器选择连接方式的算法 Nested Loop
Nested Loop
 Hash Join
Hash Join
 Sort Merge Join
Sort Merge Join 统计信息
统计信息 常规统计信息收集
常规统计信息收集
 手工调整统计信息
手工调整统计信息
 统计信息是执行计划生成的基础
统计信息是执行计划生成的基础
 讲述您从来不知道一些处理统计信息的方法及原理。
讲述您从来不知道一些处理统计信息的方法及原理。 Oracle优化器的局限
Oracle优化器的局限
 
            陈宏义
云贝教育高级讲师 数据库服务技术总监