zoukankan      html  css  js  c++  java
  • Oracle ->> Oracle下查看实际执行计划的方法

    也许有很多种方法,这里只是书上学到的一种方法

    with a as (
    select grp_factor from (select distinct grp_factor from numbers where id < 10 order by grp_factor) t 
    where rownum <= 5)
    
    select b.id, a.grp_factor
    from a cross apply(select id from (select id from numbers b where a.grp_factor = b.grp_factor order by id) t where rownum<=3)b
    
    --use v$sqlarea to find out your query by searching with key words. this might --take a little bit long.
    select sql_id, sql_text from v$sqlarea where sql_text like '%cross apply%';
    
    --copy the sql_id and place in the first place of parameters in the 
    --function "dbms_xplan.display_cursor" . in our case, it is 1gbpuv6zfq64s
    select * from table(dbms_xplan.display_cursor('1gbpuv6zfq64s',null,'typical'));
    
    
    
    SQL_ID  1gbpuv6zfq64s, child number 0
    -------------------------------------
    with a as ( select grp_factor from (select distinct grp_factor from 
    numbers where id < 10 order by grp_factor) t  where rownum <= 5)  
    select b.id, a.grp_factor from a cross apply(select id from (select id 
    from numbers b where a.grp_factor = b.grp_factor order by id) t where 
    rownum<=3)b
     
    Plan hash value: 3737636938
     
    ------------------------------------------------------------------------------------------------------------
    | Id  | Operation                                | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
    ------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                         |                 |       |       |     2 (100)|          |
    |   1 |  NESTED LOOPS                            |                 |     1 |    26 |     2   (0)| 00:00:01 |
    |   2 |   VIEW                                   |                 |     1 |    13 |     1   (0)| 00:00:01 |
    |*  3 |    COUNT STOPKEY                         |                 |       |       |            |          |
    |   4 |     VIEW                                 |                 |     1 |    13 |     1   (0)| 00:00:01 |
    |*  5 |      SORT UNIQUE STOPKEY                 |                 |     1 |    26 |     1   (0)| 00:00:01 |
    |   6 |       TABLE ACCESS BY INDEX ROWID BATCHED| NUMBERS         |     1 |    26 |     1   (0)| 00:00:01 |
    |*  7 |        INDEX RANGE SCAN                  | SYS_C009920     |     1 |       |     1   (0)| 00:00:01 |
    |   8 |   VIEW                                   | VW_LAT_A83890C2 |     1 |    13 |     1   (0)| 00:00:01 |
    |*  9 |    COUNT STOPKEY                         |                 |       |       |            |          |
    |  10 |     VIEW                                 |                 |     1 |    13 |     1   (0)| 00:00:01 |
    |* 11 |      TABLE ACCESS BY INDEX ROWID         | NUMBERS         |     1 |    26 |     1   (0)| 00:00:01 |
    |  12 |       INDEX FULL SCAN                    | SYS_C009920     |     1 |       |     1   (0)| 00:00:01 |
    ------------------------------------------------------------------------------------------------------------
     
    Predicate Information (identified by operation id):
    ---------------------------------------------------
     
       3 - filter(ROWNUM<=5)
       5 - filter(ROWNUM<=5)
       7 - access("ID"<10)
       9 - filter(ROWNUM<=3)
      11 - filter("A"."GRP_FACTOR"="B"."GRP_FACTOR")
     
    SQL_ID  1gbpuv6zfq64s, child number 1
    -------------------------------------
    with a as ( select grp_factor from (select distinct grp_factor from 
    numbers where id < 10 order by grp_factor) t  where rownum <= 5)  
    select b.id, a.grp_factor from a cross apply(select id from (select id 
    from numbers b where a.grp_factor = b.grp_factor order by id) t where 
    rownum<=3)b
     
    Plan hash value: 3737636938
     
    ------------------------------------------------------------------------------------------------------------
    | Id  | Operation                                | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
    ------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    CEF解决加载慢问题
    CEF之CefSettings设置locale
    Win32程序支持命令行参数的做法(转载)
    VC++实现程序重启的方法(转载)
    CEF之CefSettings设置日志等级
    libcurl开源库在Win32程序中使用下载文件显示进度条实例
    libcurl开源库在Win7 + VS2012环境下编译、配置详解 以及下载文件并显示下载进度 demo(转载)
    使用ShellExecute打开目标文件所在文件夹并选中目标文件
    linux下gimp的使用
    linux下的chm阅读器?
  • 原文地址:https://www.cnblogs.com/jenrrychen/p/4634256.html
Copyright © 2011-2022 走看看