Home >Database >Mysql Tutorial >index_sshint使用的执行计划变化对比

index_sshint使用的执行计划变化对比

WBOY
WBOYOriginal
2016-06-07 16:01:24868browse

index_ss hint 使用的执行计划变化对比 其中 buffer 代表:当前操作中发生的内存读次数,包含一致性读和当前读 虽然 emp 表记录数不多,但是buffer 读内存的次数差别还是有点大的 SQL select job from emp where ename=SMITH; JOB ------------------ CLERK

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.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn