您现在的位置: 爱51代码网 >> 范文 >> 文章正文
oracle 执行计划

 解释计划

      语句EXPLAIN PLAN用来显示优化器为SQL语句所选择的执行计划。需要说明的是当你得到了解释计划输出的时候,你其实是得到了当SQL语句执行的时候应该采用的预期执行计划。你并没有得到实际的执行计划以及与其相关的数据源执行统计信息。你所得到的只是估计值,而不是实际值。将估计的信息称为解释计划输出 ,而把实际信息称为执行计划输出 来区分实际和预期的执行计划。
解释计划例子:
Sql代码  收藏代码

    SQL> explain plan for 
      2  select * from small_customers; 
      
    Explained 
      
    SQL> select * from table(dbms_xplan.display); 
      
    PLAN_TABLE_OUTPUT 
    -------------------------------------------------------------------------------- 
    Plan hash value: 1819012793 
    -------------------------------------------------------------------------------- 
    | Id  | Operation         | Name            | Rows  | Bytes | Cost (%CPU)| Time 
    -------------------------------------------------------------------------------- 
    |   0 | SELECT STATEMENT  |                 |     6 |   156 |     3   (0)| 00:00 
    |   1 |  TABLE ACCESS FULL| SMALL_CUSTOMERS |     6 |   156 |     3   (0)| 00:00 
    -------------------------------------------------------------------------------- 
    Note 
    ----- 
       - dynamic sampling used for this statement        
    12 rows selected 
缩进格式:
Sql代码  收藏代码

    select id, parent_id, operation 
      from (select level lvl, 
                   id, 
                   parent_id, 
                   lpad(' ', level) || operation || ' ' || options || ' ' || 
                   object_name as operation 
              from plan_table 
             start with id = 0 
            connect by prior id = parent_id) 
     order by lvl desc, id; 
      解释计划输出最令人郁闷的地方就是它与语句实际执行时所使用的计划可能是不一致的。使用解释计划的时候以下3点可能导致计划输出与实际执行计划不一致的地方:

    解释计划是基于你使用它的时候的环境来生成的
    解释计划不考虑绑定变量的数据类型(所有的绑定变量都是VARCHAR2的)
    解释计划不"窥视"绑定变量的值

      对于解释计划来说,数据类型都被认为是一样的(都是字符串)。然而,当语句真正执行的时候所准备的执行计划却要考虑数据类型,ORACLE隐式地将字符串数据类型转换为数值类型来匹配绑定变量的数据类型。
      如何学会阅读计划:

    学会识别和分割父子组
    掌握计划中运算执行的顺序
    学会以途述的形式来阅读计划

按照执行顺序显示的计划运算:
Sql代码  收藏代码

    explain plan for select * from test_1; 
    select * from table(dbms_xplan.display); 
    select id, parent_id, operation 
      from (select level lvl, 

[1] [2] 下一页

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    青岛科学六年级下册教材分析
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    青少年吸烟心理探析
    保险受益人制度相关问题的探讨
    初中生地理读图能力培养的研究
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    恢复使用繁体字可行性研究报告
    初中生地理读图能力培养的研究
    搞笑生日祝福
    搞笑生日祝福语
    生日祝福词
    生日祝福语大全
    中学教学常规检查规定
    中学教学常规基本要求及检查
    如何做好餐饮治理
    餐饮服务员培训计划提纲
    小学教育教学工作计划
    女生部工作计划和工作总结
    小学班主任培训现状的调查
    国家动物疫病强制免疫计划
    九年级下学期英语教学工作计
    股骨颈骨折人工髋关节置换术
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |