您的位置:首页 > 其它

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

2014-10-08 15:24 281 查看
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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: