一个索引快速全扫描读取未排序的顺序与索引块,因为它们存在于磁盘上。该扫描不使用索引来探测表,而是读取索引而不是表,实际上是将索引本身用作表。
8.3.5.1当优化器考虑索引快速完整扫描时
当查询仅访问索引中的属性时,优化器将考虑此扫描。
注意:
与完全扫描不同,快速完全扫描无法消除排序操作,因为它无法按顺序读取索引。
该提示会强制进行快速的全索引扫描。 INDEX_FFS(table_name index_name)
也可以看看:
Oracle Database SQL语言参考以了解有关INDEX提示的 更多信息
父主题: 索引快速完整扫描
8.3.5.2索引快速完整扫描如何工作
数据库使用多块I / O读取根块以及所有叶块和分支块。数据库将忽略分支块和根块,并读取叶块上的索引条目。
8.3.5.3索引快速完整扫描:示例
由于优化程序提示,本示例使用快速的全索引扫描。
以下语句按部门ID的顺序查询部门的ID和名称:
SELECT /*+ INDEX_FFS(departments dept_id_pk) */ COUNT(*)
FROM departments;
以下计划显示优化器选择了快速全索引扫描:
SQL_ID fu0k5nvx7sftm, child number 0
-------------------------------------
select /*+ index_ffs(departments dept_id_pk) */ count(*) from departments
Plan hash value: 3940160378
--------------------------------------------------------------------------
| Id | Operation | Name | Rows |Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | 2 (100)| |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | INDEX FAST FULL SCAN| DEPT_ID_PK | 27 | 2 (0)| 00:00:01 |
--------------------------------------------------------------------------「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




