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     |
    ------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    BadUSB 利用
    java 将函数作为参数传递
    odoo12 修行提升篇之 常用的高阶函数 (二)
    odoo12 修行提升篇之 异步定时任务 (一)
    odoo12 修行基础篇之 利用kanban做分析 点击跳转分析模型列表 (九)
    odoo12 修行基础篇之 kanban (八)
    odoo12 修行基础篇之 记录批处理 (七)
    odoo12 修行基础篇之 列表的筛选和分组 (六)
    odoo12 修行基础篇之 添加记录编码 (五)
    odoo12 修行基础篇之 添加工作流和操作记录 (四)
  • 原文地址:https://www.cnblogs.com/jenrrychen/p/4634256.html
Copyright © 2011-2022 走看看