• index_ss hint 使用的运行计划变化对照


    index_ss  hint 使用的运行计划变化对照

    当中 buffer 代表:当前操作中发生的内存读次数,包括一致性读和当前读

    尽管 emp 表记录数不多,可是buffer 读内存的次数区别还是有点大的

    SQL>  select  job from emp where ename='SMITH';

    JOB
    ------------------
    CLERK

    SQL> select * from table(dbms_xplan.display_cursor(null,null,'allstats last'))

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SQL_ID  at8ssqpn41css, child number 0
    -------------------------------------
     select /*+ index_ss(emp i_emp)*/ job from emp where ename='SMITH'

    Plan hash value: 3956160932

    ------------------------------------------------------------------------------------
    | Id  | Operation         | Name | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    ------------------------------------------------------------------------------------
    |*  1 |  TABLE ACCESS FULL| EMP  |      1 |      1 |      1 |00:00:00.01 |       8 |
    ------------------------------------------------------------------------------------

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):
    ---------------------------------------------------

       1 - filter("ENAME"='SMITH')


    17 rows selected.

    ----创建一个索引

    SQL>  create index i_emp on emp(empno, ename);

    Index created.

    SQL> select /*+ index_ss(emp i_emp)*/ job from emp where ename='SMITH';

    JOB
    ------------------
    CLERK

    SQL>  select * from table(dbms_xplan.display_cursor(null,null,'allstats last'))
      2  ;

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SQL_ID  ck2pc7bpbzdz8, child number 0
    -------------------------------------
    select /*+ index_ss(emp i_emp)*/ job from emp where ename='SMITH'

    Plan hash value: 98078853

    -----------------------------------------------------------------------------------------------
    | Id  | Operation                   | Name  | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    -----------------------------------------------------------------------------------------------
    |   1 |  TABLE ACCESS BY INDEX ROWID| EMP   |      1 |      1 |      1 |00:00:00.01 |       3 |
    |*  2 |                 INDEX SKIP SCAN           | I_EMP |      1 |      1 |      1 |00:00:00.01 |       2 |

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    -----------------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):
    ---------------------------------------------------

       2 - access("ENAME"='SMITH')
           filter("ENAME"='SMITH')


    19 rows selected.

  • 相关阅读:
    MFC函数—SetRegistryKey
    2013年日志及2014年、2012年等一些日志
    DECLARE_MESSAGE_MAP 宏
    c++ 重载、覆盖 (隐藏)(virtual)
    //{{AFX_MSG、//{{AFX_VIRTUAL、//{{AFX_MSG_MAP、//{{AFX_DATA_INIT
    #if defined 和 #if ! defined 的用法
    C++标准模板库STL
    C++标准库
    C++中的 CONST 含义(从#define 到 CONST 的转变)
    More Effective C++ 35 条款
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4011302.html
Copyright © 2020-2023  润新知