3、扫描。此查找方法效率很高。索引范围查找(indexrangescan):使用一个索引存取多行数据,在唯一索引上使用索引范围扫描的典型情况下是在谓词(where限制条件)中使用了范围操作符(如>、<、<>、>=、<=、between)。索引全部扫描(indexfullscan):全索引扫描。对查询出的数据进行排序,而且此时查询出的数据都必须从索引中可以直接得到。同时orderby排序的数据应该是按索引的顺序来读取的。如:explainplan for selectempno,enamefrombig_emporder byempno,ename。索引快速扫描(inde
4、xfastfullscan):与indexfullscan很类似,但是一个显著的区别就是它不对查询出的数据进行排序,即数据不是以排序顺序被返回,在这种存取方法中,可以使用多块读功能,也可以使用并行读入,以便获得最大吞吐量与缩短执行时间,索引快速全局扫描,不带orderby情况下常发生,如:explainplan for selectempno,enamefrombig_emp。索引跳跃式查找(indexskipscan):where条件列是非索引的前导列情况下常发生。如下:1.create index i_emp on emp(empno, ename); 2.
5、3.select /* + index_ss(emp i_emp) */ job from emp where ename = ' SMITH ' ; 总结:indexfullscan(索引全扫描):有排序,就是利用到了index的排序功能。原理:通过root根级----到中间级---叶级。indexfastfullscan(索引快速扫描):无排序,就可以利用多块读取方式,提高查询速度,因为数据要求是无序的。即可以使用多块查询,取出的数据就是数据存放的顺序。当进行indexfullscan的时候oracle定位到索引的rootblock,然后到branchbloc