摘要:
如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。 看懂执行计划也就成了SQL优化的先决条件。 这里的SQL优化指的是SQL性能问题的定位,定位后就可以解决问题。一. 查看执行计划的三种方法1.1 设置autotrace序号命令解释1SETAUTOTRACEOFF此为默认值,即关闭Autotrace2SETAUTOTRACEONEXPLAIN只显示执行计划3SETAUTOTRACEONSTATISTICS只显示执行的统.. 阅读全文
摘要:
如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。 看懂执行计划也就成了SQL优化的先决条件。 这里的SQL优化指的是SQL性能问题的定位,定位后就可以解决问题。一. 查看执行计划的三种方法1.1 设置autotrace序号命令解释1SETAUTOTRACEOFF此为默认值,即关闭Autotrace2SETAUTOTRACEONEXPLAIN只显示执行计划3SETAUTOTRACEONSTATISTICS只显示执行的统.. 阅读全文
摘要:
在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。 之前打算在sqlplus中用执行计划的,但是格式看起来有点乱,就用Toad 做了3个截图。 从3张图里我们看到了几点信息:1. CBO 使用的ALL_ROWS模式Oracle Optimizer CBO RBOhttp://blog.csdn.net/tianlesoftware/archive/2010/08/19/5824886.aspx2. 表之间的连接用了hash Join, Nested loops,Sort Merge Join多表之间的连接有三种方式:Nested Loops,Hash Join 阅读全文
摘要:
在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。 之前打算在sqlplus中用执行计划的,但是格式看起来有点乱,就用Toad 做了3个截图。 从3张图里我们看到了几点信息:1. CBO 使用的ALL_ROWS模式Oracle Optimizer CBO RBOhttp://blog.csdn.net/tianlesoftware/archive/2010/08/19/5824886.aspx2. 表之间的连接用了hash Join, Nested loops,Sort Merge Join多表之间的连接有三种方式:Nested Loops,Hash Join 阅读全文