`
yufeng0471
  • 浏览: 98602 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

获取运行时执行计划和统计信息

 
阅读更多

 

 

 

 

  • 在sql语句中加入提示/*+ gather_plan_statistics */,或者alter session set statistics_level=ALL,目的是收集执行计划的统计信息,这样做有俩个好处,一是可以看到每个操作的执行次数(Starts),二是可以对比行估计值(E-Rows)和行实际值(A-Rows)
  • 在视图v$sql中找刚才执行的sql语句的sql_id,目的是想通过sql_id再查找运行时执行计划
    select sql_id from v$sql where sql_text like 'SELECT /*+ gather_plan_statistics */%';
  • 通过上面步骤找到的sql_id查找运行时执行计划
    SELECT * FROM TABLE(dbms_xplan.display_cursor('fvh352apr6z8h',null,'iostats last'))

    说明:dbms_xplan.display_cursor( sql_id, cursor_child_no, format)中

                        format表达式
                             IOSTATS: IO统计
                             MEMSTATS: 使用的PGA统计
                             ALLSTATS: IOSTATS+MEMSTATS
                             LAST: 游标中最后执行
                             ALL: 输出中显示Query block/Object Alias、Predicate 信息和         
                                       Column Projection 信息;
                             Advanced: ALL + Outline信息;
                             Outline: 输出显示Outline 信息和Predicate信息;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics