博客
关于我
Oracle 11G INDEX FULL SCAN 和 INDEX FAST FULL SCAN 对比分析
阅读量:793 次
发布时间:2023-02-24

本文共 2857 字,大约阅读时间需要 9 分钟。

Oracle?????????????????????

?????????????????????Oracle?????????????????????????????????????????????????????


????

1. ??????????

?????????????test???dba_objects????????

create table test as select * from dba_objects where 1 != 1;

???????????test????????idx_test_id???object_id???

create index idx_test_id on test(object_id);

2. ???????

??????dba_objects????object_id??1000?????????????object_id?????

insert into test select * from dba_objects where object_id is not null and object_id > 1000 order by object_id desc;

????????????????????????

analyze table test compute statistics for table for all columns for all indexes;

3. ?????????

???????????????????10??????????????

select object_id from test where rownum < 11;

?????????????00:00:01???????INDEX FULL SCAN???

4. ?????

??????????????????????????????????????dump?

alter session set events 'immediate trace name treedump level 75981';

?????dump???????idx_test_id????????????????????INDEX FULL SCAN?????????????

????????

????????????????

Plan hash value: 3931117773--------------------------------------------------------------------------------| Id | Operation      | Name             | Rows | Bytes | Cost (%CPU)| Time ||----|---------------|-----------------|-----|------|------------|------|| 0  | SELECT STATEMENT|                  | 10  | 40   | 2 (0)     | 00:00:01 || 1  | COUNT STOPKEY |                  |    |      |            |      || 2  | TABLE ACCESS FULL| TEST              | 10  | 40   | 2 (0)     | 00:00:01 |--------------------------------------------------------------------------------

???????????

Predicate Information (identified by operation id):1 - filter(ROWNUM < 11)

???????

?????????????????????idx_test_id?????????????????????????????????????????????????????????

select /*+ index(test idx_test_id) */object_id from test where rownum < 11;

????????????

Plan hash value: 1062221432--------------------------------------------------------------------------------| Id | Operation      | Name             | Rows | Bytes | Cost (%CPU)| Time ||----|---------------|-----------------|-----|------|------------|------|| 0  | SELECT STATEMENT|                  | 10  | 40   | 2 (0)     | 00:00:01 || 1  | COUNT STOPKEY |                  |    |      |            |      || 2  | INDEX FULL SCAN | IDX_TEST_ID       | 10  | 40   | 2 (0)     | 00:00:01 |--------------------------------------------------------------------------------

?????????INDEX FULL SCAN??????????????

???????

?????????????????????

  • ???dump???dbms_utility.data_block_address_file?dbms_utility.data_block_address_block??????????????????????????????

  • ???????dbms_stats.convert_raw_value????????????????????????

  • ???????????????????????????????

  • ?????????????????????????????00:00:01???00:00:00.5???????????


    ??

    ???????????????Oracle???????????00:00:01????00:00:00.5??????????????????????????????????????????????????????????

    转载地址:http://ispfk.baihongyu.com/

    你可能感兴趣的文章
    OPPO软件商店APP侵权投诉流程
    查看>>
    Optional用法与争议点
    查看>>
    Optional类:避免NullPointerException
    查看>>
    Optional讲解
    查看>>
    ORA-00069: cannot acquire lock
    查看>>
    ORA-00923: 未找到要求的 FROM 关键字
    查看>>
    ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
    查看>>
    ORA-00942 表或视图不存在
    查看>>
    ORA-01034: ORACLE not available
    查看>>
    ORA-01152: 文件 1 没有从过旧的备份中还原
    查看>>
    ORA-01207:文件比控制文件更新 - 旧的控制文件
    查看>>
    ORA-01795: 列表中的最大表达式数为 1000
    查看>>
    ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态
    查看>>
    ORA-08102的错误
    查看>>
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor异常
    查看>>
    ORA-12514: TNS:listener does not currently know of service问题原因
    查看>>
    ora-12541:tns:no listener
    查看>>
    【docker知识】联合文件系统(unionFS)原理
    查看>>
    ORACEL学习--理解over()函数
    查看>>
    ORAchk-数据库健康检查
    查看>>