首页 > 其他 > 详细

index_ss hint 使用的执行计划变化对比

时间:2014-08-27 22:03:58      阅读:300      评论:0      收藏:0      [点我收藏+]

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.

index_ss hint 使用的执行计划变化对比

原文:http://blog.csdn.net/lixora/article/details/38876319

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!