zoukankan      html  css  js  c++  java
  • Miley's Oracle讲堂第一课:怎么使用dbms_xplan.display_cursor观察执行计划.

    在实际使用中,很少有文章介绍如何看执行计划的.本文希望能抛砖引玉,给大家介绍下这方面的内容。

    首先,从oracle10g开始,oracle开始提供一个新功能dbms_xplan.display_cursor,我们不需要考虑看什么plan_table还是v$sql_plan了。当然你使用这个功能你需要有这些视图“v$session”, “v$sql”, “v$sql_plan” and “v$sql_plan_statistics_all ”的查看权限.

    然后,我们通过/*+ gather_plan_statistics*/ 这个提示SQL 1.拿到我们需要生成的统计信息,执行SQL 2.会看到如下2个截图的信息。

    SQL 1.

    select /*+ gather_plan_statistics*/ * from tms_route_header rh , tms_route_stop rs where rh.host_created_dt>sysdate-1  and rs.truck_route_instance_id=rh.truck_route_instance_id

    and exists(select  1 from tms_stop_detail sd where sd.stop_id=rs.stop_id)

    SQL 2.

    select * from table(dbms_xplan.display_cursor(null,null,'all iostats last'))

     这个截图1真实反映了筛选的路径及rows的选择。

    首先,这个顺序是按照4-3-6-5-2-7-1。

    注意主要观察Starts,A-rows这2列。仔细观察,首先4的步骤返回7条,然后到3,然后3跑到步骤6,6返回43条,然后到5,5然后返回2,2的43条作为starts纪录跑去步骤7,得到14条最终结果。

     截图2则真实反映了每个步骤怎么过滤数据的,通过我的这番解释,希望能让大家提高对SQL计划的进一步认识,我还会有更多内容与大家分享。

    截图1:

     截图2:

    魔兽就是毒瘤,大家千万不要玩。
  • 相关阅读:
    [转]开发者最容易犯的13个JavaScript错误
    http状态码表
    RDLC报表部署到服务器的相关问题
    sharepoint权限集中管理工具
    依赖注入
    HttpModule & HttpHandle
    回滚事务
    HTTPMOUDLE 和httphandler 学习
    JavaScript操作Table
    .ne工具库
  • 原文地址:https://www.cnblogs.com/tracy/p/1713272.html
Copyright © 2011-2022 走看看