INDEX FULL SCAN和INDEX FAST FULL SCAN区别
---請記住這個INDEX FULL SCAN掃描方式,并體會與INDEX FAST FULL SCAN的區(qū)別
drop table t purge;
create table t as select * from dba_objects;
update t set object_id=rownum;
commit;
alter table T modify object_id not null;
create ?index idx_object_id on t(object_id);
set autotrace traceonly
set linesize 1000
select * from t ?order by object_id;
執(zhí)行計劃
---------------------------------------------------------------------------------------------
| Id ?| Operation ? ? ? ? ? ? ? ? ? | Name ? ? ? ? ?| Rows ?| Bytes | Cost (%CPU)| Time ? ? |
---------------------------------------------------------------------------------------------
| ? 0 | SELECT STATEMENT ? ? ? ? ? ?| ? ? ? ? ? ? ? | 88780 | ? ?17M| ?1208 ? (1)| 00:00:15 |
| ? 1 | ?TABLE ACCESS BY INDEX ROWID| T ? ? ? ? ? ? | 88780 | ? ?17M| ?1208 ? (1)| 00:00:15 |
| ? 2 | ? INDEX FULL SCAN ? ? ? ? ? | IDX_OBJECT_ID | 88780 | ? ? ? | ? 164 ? (1)| 00:00:02 |
---------------------------------------------------------------------------------------------
統(tǒng)計信息
----------------------------------------------------------
? ? ? ? ? 0 ?recursive calls
? ? ? ? ? 0 ?db block gets
? ? ? 10873 ?consistent gets
? ? ? ? ? 0 ?physical reads
? ? ? ? ? 0 ?redo size
? ? 8116181 ?bytes sent via SQL*Net to client
? ? ? 54040 ?bytes received via SQL*Net from client
? ? ? ?4877 ?SQL*Net roundtrips to/from client
? ? ? ? ? 0 ?sorts (memory)
? ? ? ? ? 0 ?sorts (disk)
? ? ? 73130 ?rows processed
drop table t purge;
create table t as select * from dba_objects ;
update t set object_id=rownum;
commit;
alter table T modify object_id not null;
create ?index idx_object_id on t(object_id);
set autotrace traceonly
set linesize 1000
select count(*) from t;
執(zhí)行計劃
-------------------------------------------------------------------------------
| Id ?| Operation ? ? ? ? ? ? | Name ? ? ? ? ?| Rows ?| Cost (%CPU)| Time ? ? |
-------------------------------------------------------------------------------
| ? 0 | SELECT STATEMENT ? ? ?| ? ? ? ? ? ? ? | ? ? 1 | ? ?49 ? (0)| 00:00:01 |
| ? 1 | ?SORT AGGREGATE ? ? ? | ? ? ? ? ? ? ? | ? ? 1 | ? ? ? ? ? ?| ? ? ? ? ?|
| ? 2 | ? INDEX FAST FULL SCAN| IDX_OBJECT_ID | 88780 | ? ?49 ? (0)| 00:00:01 |
-------------------------------------------------------------------------------
統(tǒng)計信息
----------------------------------------------------------
? ? ? ? ? 0 ?recursive calls
? ? ? ? ? 0 ?db block gets
? ? ? ? 170 ?consistent gets
? ? ? ? ? 0 ?physical reads
? ? ? ? ? 0 ?redo size
? ? ? ? 425 ?bytes sent via SQL*Net to client
? ? ? ? 415 ?bytes received via SQL*Net from client
? ? ? ? ? 2 ?SQL*Net roundtrips to/from client
? ? ? ? ? 0 ?sorts (memory)
? ? ? ? ? 0 ?sorts (disk)
? ? ? ? ? 1 ?rows processed
總結(jié):fast為無序讀,一次讀取多個塊,full為有序讀,每次讀取單個塊。
梁老師課程總結(jié)。
轉(zhuǎn)載于:https://www.cnblogs.com/Clark-cloud-database/p/7818267.html
總結(jié)
以上是生活随笔為你收集整理的INDEX FULL SCAN和INDEX FAST FULL SCAN区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 响应式框架推荐
- 下一篇: 通讯框架 t-io 学习——websoc