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.

上一篇:python 基础——多重继承


下一篇:java基础知识回顾之---java String final类普通方法的应用之字符串数组排序