Oracle执行计划之表访问操作(三)

2014-11-24 15:58:22 · 作者: · 浏览: 3
rt| Pstop |
--------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 2 | 22 | 3 (0)| 00:00:01 | | |
| 1 | TABLE ACCESS BY GLOBAL INDEX ROWID| INFO1 | 2 | 22 | 3 (0)| 00:00:01 | 4 | 4 |
|* 2 | INDEX RANGE SCAN | ID_GLOBAL_IDX | 5 | | 1 (0)| 00:00:01 | | |
--------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("ID"=1)
PL/SQL procedure successfully completed.
(9)TABLE ACCESS SAMPLE
通过采样方式访问表,即扫描表的部分数据块。示例:
[sql]
SQL> exec sql_explain('select * from t1 sample(2)');
Plan hash value: 411371848
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 37 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS SAMPLE| T1 | 1 | 37 | 3 (0)| 00:00:01 |
----------------------------------------------------------------------------
PL/SQL procedure successfully completed.
(10) TABLE ACCESS BY INDEX ROWID
通过索引获得指定范围的ROWID,以采样的方式访问表。示例:
[sql]
SQL> exec sql_explain('select * from t1 sample(2) where empno>:A');
Plan hash value: 1306276067
-----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 37 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| T1 | 1 | 37 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | EMPNO_IDX | 1 | | 1 (0)| 00:00:01 |
-----------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("EMPNO">TO_NUMBER(:A))
filter(ORA_HASH(ROWID,0,2007369931,'SYS_SAMPLE',0)<85899346)
PL/SQL procedure successfully completed.